Innosetup 正在杀死我。我收到一个 RUNTIME 'Type Mismatch' 错误,对我来说,这是非常出乎意料的。我正在使用 Inno-setup 5.5.3 (u)(其中“u”表示 unicode 版本)
我正在尝试将二维数组传递给方法。
这是我的完整示例。
[Setup]
AppName=EmptyProgram
AppVerName=EmptyProgram 1
UsePreviousAppDir=false
DefaultDirName={pf}\EmptyProgram
Uninstallable=false
OutputBaseFilename=HelloWorld
PrivilegesRequired=none
[Messages]
SetupAppTitle=My Title
[Code]
var
langMap : array[0..3] of array[0..1] of String;
function getMapVal(map : array of array[0..1] of String; key: String ) : String;
begin
Result:='not testing the body of the method';
end;
function InitializeSetup(): Boolean;
begin
MsgBox('Hello world.', mbInformation, MB_OK);
getMapVal(langMap, 'hello'); // this line here fails with type mismatch! Why?
Result := FALSE;
end;
此示例将运行,但要调用该方法:
getMapVal(langMap, '你好');
它可以编译,因此对声明感到满意。但是在调用时,不匹配错误。我究竟做错了什么?