我需要从我的C ++ DLL中获取一个字符串列表。我知道如何使用DLL并且已经在[code]
部分中使用简单的数据类型多次执行此操作,例如Boolean
或Integer
。但是现在我需要得到一个字符串列表以这种方式填充组合框,但我不知道我可以从哪里开始。我已经读过如果我想获得String
我需要在Inno Setup端分配内存。
所以我的问题是:
感谢您的帮助。
答案 0 :(得分:1)
如果将其HWND传递给DLL(使用TWinControl.Handle
),则可以在C ++代码中填充Inno Setup组合框。
如果要将DLL中的字符串列表传递回Inno Setup,我建议您为DLL添加两个函数:
function GetComboBoxItemsCount: Integer;
procedure GetComboBoxItemString(Index: Integer; Str: PChar; MaxLength: Integer);
让GetComboBoxItemsCount
返回项目数。然后在循环中调用GetComboBoxItemString
以检索单个字符串。