我使用TCheckListbox(lbServices)這個代碼,它工作正常。但是使用Devexpress的TcxCheckListBox會引發異常。從TCheckListBox到TcxCheckListBox有一個例外?
procedure TMaintenanceForm.AfterConstruction;
var
i: Integer;
ActionObj: TAction;
begin
inherited;
for i := 0 to ServiceActionList.ActionCount-1 do
begin
ActionObj := ServiceActionList.Actions[i] as TAction;
lbServices.Items.AddObject(ActionObj.Caption, ActionObj);
end;
end;
procedure TMaintenanceForm.btnStopClick(Sender: TObject);
begin
fContinue := False;
end;
procedure TMaintenanceForm.cmdExecuteSelectedClick(Sender: TObject);
var
i: Integer;
begin
Screen.Cursor := crHourGlass;
try
for i := 0 to lbServices.Count -1 do
if lbServices.Selected[i] then
(lbServices.Items.Objects[i] as TAction).Execute; // Exception here!!!!
finally
Screen.Cursor := crDefault;
end;
end;
如果我調試代碼lbServices.Count = 12 lbServices.Items.Objects [i]是對列表中的所有項爲零。這裏有什麼問題?
謝謝,它工作正常! – 2010-08-06 12:07:48