InstallShield 5.5 - 字符串数组

InstallShield 5.5 - Array of strings

我 "inherited" 我需要修改一个旧的 InstallShield 5.5 项目。 我需要做的一项更改涉及我必须填充的字符串列表。 我希望定义一个字符串数组。我试过这个:

STRING ListOfStrings[10];

但是当我尝试这个时:

ListOfStrings[1] = "test";

我收到一个错误:错误 C8038:需要数值

但这确实有效:

ListOfStrings[1] = 123;

看起来 ListOfStrings 的声明是一个字符数组,而不是一个字符串数组。

没错,符号 STRING str[10] 声明了一个包含 10 个字符的数组。 (STRING 本身是一个可调整大小的字符数组。)InstallScript 不是现代语言。它有点像 C 和 VB 之间的交叉,但改变了几件事。如果你想要一个字符串列表,你可能需要使用 List Processing Functions,特别是声明和创建一个字符串列表:

LIST lst;
STRING szString;
// : : :
lst = ListCreate(STRINGLIST);
szString = "test";
ListAddString(lst, szString, AFTER);
// : : :

此外,您应该使用一些错误检查,如 ListAddString example 中所示。

在不太常见的情况下,声明一个 POINTER 对象数组(或在更高版本中可选地 WPOINTER 对象)可能很有用。 (如果您认为可能有必要,请更新您的问题)。