D
dfwer
Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序执行时出现如下错误,哪位能告诉我问题出在哪里吗?
project rgbpprj.exe raised exception class EStringListError with message 'List
index out of bounds (-1)'.process stoped.
代码如下:
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
if (edit7.Text<>'') and (edit8.text<>'') and (edit9.text<>'') and (edit10.text<>'')and (edit11.text<>'') then
begin
if radiogroup1.items[radiogroup1.ItemIndex]='自动生成' then
edit12.enabled:=false
else edit12.Enabled:=true;
table1.locktable(ltWriteLock);
table1.insert;
table1.Fieldbyname('wtgddm').asstring:=edit8.text;
table1.Fieldbyname('wtzqdm').asstring:=edit9.text;
table1.Fieldbyname('wtwtsl').asinteger:=strtoint(edit10.text);
table1.Fieldbyname('wtwtjg').asfloat:=strtofloat(edit11.text);
if radiogroup2.items[radiogroup2.ItemIndex]='买' then
table1.Fieldbyname('wtywlb').asstring:='0b'
else table1.fieldbyname('Wtywlb').asstring:='0s';
table1.Fieldbyname('wtclbz').asstring:='z';
table1.Fieldbyname('wtwtsj').asstring:=FormatDateTime('hhmmss',now);
if radiogroup1.items[radiogroup1.ItemIndex]='自动生成' then
begin
table1.Fieldbyname('wthtxh').asstring:=edit7.text+FormatDateTime('yyyymmdd',now)+inttostr(lsh);
lsh:=lsh+1;
end
else
if (edit12.text='') then
showmessage('请输入流水号!')
else
table1.Fieldbyname('wthtxh').asstring:=edit7.text+FormatDateTime('yyyymmdd',now)+edit12.text;
table1.post;
table1.unlocktable(ltwritelock);
end
else
begin
if edit7.text='' then showmessage('请输入席位号!');
if edit8.text='' then showmessage('请输入股东代码!');
if edit9.text='' then showmessage('请输入股票代码!');
if edit10.text='' then showmessage('请输入委托数量!');
if edit11.text='' then showmessage('请输入委托价格!');
end;
end;
除了wtwtsl、wtwtjg是数值类型外,其余的都是字符类型。
project rgbpprj.exe raised exception class EStringListError with message 'List
index out of bounds (-1)'.process stoped.
代码如下:
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
if (edit7.Text<>'') and (edit8.text<>'') and (edit9.text<>'') and (edit10.text<>'')and (edit11.text<>'') then
begin
if radiogroup1.items[radiogroup1.ItemIndex]='自动生成' then
edit12.enabled:=false
else edit12.Enabled:=true;
table1.locktable(ltWriteLock);
table1.insert;
table1.Fieldbyname('wtgddm').asstring:=edit8.text;
table1.Fieldbyname('wtzqdm').asstring:=edit9.text;
table1.Fieldbyname('wtwtsl').asinteger:=strtoint(edit10.text);
table1.Fieldbyname('wtwtjg').asfloat:=strtofloat(edit11.text);
if radiogroup2.items[radiogroup2.ItemIndex]='买' then
table1.Fieldbyname('wtywlb').asstring:='0b'
else table1.fieldbyname('Wtywlb').asstring:='0s';
table1.Fieldbyname('wtclbz').asstring:='z';
table1.Fieldbyname('wtwtsj').asstring:=FormatDateTime('hhmmss',now);
if radiogroup1.items[radiogroup1.ItemIndex]='自动生成' then
begin
table1.Fieldbyname('wthtxh').asstring:=edit7.text+FormatDateTime('yyyymmdd',now)+inttostr(lsh);
lsh:=lsh+1;
end
else
if (edit12.text='') then
showmessage('请输入流水号!')
else
table1.Fieldbyname('wthtxh').asstring:=edit7.text+FormatDateTime('yyyymmdd',now)+edit12.text;
table1.post;
table1.unlocktable(ltwritelock);
end
else
begin
if edit7.text='' then showmessage('请输入席位号!');
if edit8.text='' then showmessage('请输入股东代码!');
if edit9.text='' then showmessage('请输入股票代码!');
if edit10.text='' then showmessage('请输入委托数量!');
if edit11.text='' then showmessage('请输入委托价格!');
end;
end;
除了wtwtsl、wtwtjg是数值类型外,其余的都是字符类型。