First chance exception at $75BAD8A2. Exception class EListError with message 'List index out of bounds (0)'. Process sample.exe (6208)
时间: 2024-04-15 13:28:27 浏览: 180
抱歉给出的示例代码中出现了错误。导致异常的原因是 ActionBars 列表中没有可用的 ActionToolBar。
请确保在使用 ActionBars 属性之前已经创建了至少一个 ActionToolBar,并将其添加到 ActionManager 组件中。以下是一个修正后的例子:
```delphi
procedure TForm1.FormCreate(Sender: TObject);
var
ActionToolBar: TActionToolBar;
ActionClientItem: TActionClientItem;
begin
// 创建 ActionManager
ActionManager1 := TActionManager.Create(Self);
// 创建 ActionToolBar
ActionToolBar := TActionToolBar.Create(Self);
ActionToolBar.ActionManager := ActionManager1;
ActionToolBar.Parent := Self;
// 创建 TActionList
ActionList1 := TActionList.Create(Self);
// 添加动作到 TActionList
// ...
// 添加 TActionList 到 TActionClientItem
ActionClientItem := ActionToolBar.ActionClient.Items.Add;
ActionClientItem.Action := ActionList1.Actions[0];
end;
```
在这个示例中,我们首先创建了一个 ActionManager 组件。然后,我们创建了一个 ActionToolBar,并将其关联到 ActionManager。接下来,我们创建了一个 TActionList,并添加了一些动作。
最后,我们将 TActionList 的第一个动作赋值给 TActionClientItem 的 Action 属性。
请确保在使用 ActionBars 属性之前已经创建了至少一个 ActionToolBar,并将其添加到 ActionManager 中。这样就可以避免 "List index out of bounds" 异常。
非常抱歉之前的错误造成的困扰,希望这次能解决你的问题。如果还有其他疑问,请随时提问!
阅读全文