Inno setup Inno设置函数检查项语法和用法
根据我的问题,我认为可能有一种方法可以让它工作,而不存在代码中设置的检查状态是永久性的问题(尽管使用Inno setup Inno设置函数检查项语法和用法,inno-setup,Inno Setup,根据我的问题,我认为可能有一种方法可以让它工作,而不存在代码中设置的检查状态是永久性的问题(尽管使用checked属性),方法是使用: function CheckItem(const Index: Integer; const AOperation: TCheckItemOperation): Boolean; 然而,在TNewCheckListBox中,我在语法正确方面遇到了困难。我正在努力: CheckItem(CompIndexSync, coUncheck) := Checked[C
checked
属性),方法是使用:
function CheckItem(const Index: Integer; const AOperation: TCheckItemOperation): Boolean;
然而,在TNewCheckListBox
中,我在语法正确方面遇到了困难。我正在努力:
CheckItem(CompIndexSync, coUncheck) := Checked[CompIndexClient];
其中,
compindex
是分配给组件值索引的常数。我在编译时得到一个标识符预期错误。有人能告诉我如何正确使用此函数以及我做错了什么吗?TNewCheckListBox
类的CheckItem
成员是一种函数类型的方法,它通过aooperation
操作更新选中状态,如果此时对项的状态进行了任何更改,则返回True索引
,或其任何子项。这是它的原型():
问题是您试图为函数结果赋值。一般来说,在Pascal语言中,这不是你能做到的。
要对项目执行的操作由aooperation
参数传递。在伪代码中,例如:
var
CheckList: TNewCheckListBox;
Operation: TCheckItemOperation;
begin
...
if ShouldCheck then
Operation := coCheck
else
Operation := coUncheck;
if CheckList.CheckItem(ItemIndex, Operation) then
MsgBox('An item has changed its state.', mbInformation, MB_OK);
end;
非常感谢。现在这个函数可以正常工作了,使用它可以解决我使用
Checked[CompIndexSybSync]:=False时发现的问题代码>,因为无法检查组件。我还使用了类型组合框来更新组件。仍然在看我是否能解决刷新/重画问题,我会在那里。
var
CheckList: TNewCheckListBox;
Operation: TCheckItemOperation;
begin
...
if ShouldCheck then
Operation := coCheck
else
Operation := coUncheck;
if CheckList.CheckItem(ItemIndex, Operation) then
MsgBox('An item has changed its state.', mbInformation, MB_OK);
end;