procedure TMainForm.BizFormShow(Sender: TObject);
var
lob: Tcass;
begin
Query.ConnectionString :='DATABASEURL=Biz:\OPERATION\OPERATIONDB.DATABASE';
Query.Close;
Query.CommandText := 'SELECT * FROM HR_OGNDEPT';
Query.Open;
if Query.RecordCount > 0 then
begin
Query.First;
while not Query.Eof do
begin
lob:= Tcass.create;
lob.ID:= Query.Fields[0].AsString;
//lob.Name:= Query.Fields[1].AsString;
CheckListBox1.Items.AddObject(Query.Fields[1].AsString,lob);
Query.Next;
end;
lob.Free;
end;
end;
procedure TMainForm.Button1Click(Sender: TObject);
var
i:integer;
lsName,lsID:string;
begin
for i := 0 to CheckListBox1.Items.Count -1 do
begin
if CheckListBox1.Checked then
begin
lsName := lsName + CheckListBox1.Items.ToString + ','; //<-- 取值 为 其它
lsID := lsID + Tcass(CheckListBox1.Items.Objects).ID +','; //<--当i为7时,应该读取的记录为08 时,执行这句报错 System Error. Code: 299.
end;
end;
lsName := lsName.Substring(0,lsName.Length -1);
lsID := lsID.Substring(0,lsID.Length -1);
end;
我这没有问题,当一个都不选中的时候会出指针错误,
错误位置:
lsName := lsName.Substring(0,lsName.Length -1); |