我需要实现脚本常量来检索用户选择路径的驱动器。
我试过下面的代码,但我得到了:
Acess违规吃了地址0043D8E0。地址01CDE694
[Code]
procedure InitializeWizard;
begin
Page := CreateInputDirPage(
wpSelectDir,'Select local', 'Where will be stored?', '', False, 'New Folder');
Page.Add('Local Dserver (APP)');
Page.Add('Local Images (Storage)');
Page.Values[0] := ('F:\TEST1');
Page.Values[1] := ('G:\TEST2');
end;
function ExtractFileDrive(const FileName: string): String;
begin
Result := ExtractFileDrive(Page.Values[0]);
end;
[Run]
Filename: {code:ExtractFileDrive|0}\postgresql-9.4.5-1-windows-x64.exe
答案 0 :(得分:1)
ExtractFileDrive
脚本常量会影响ExtractFileDrive
support function。因此,您无限制地递归调用ExtractFileDrive
函数,直到堆栈溢出。
只需将您的功能重命名为其他任何内容。
一旦这样做,重命名它的论点,因为FileName
令人困惑。并且还删除了其使用中的脚本常量参数,因为您实际上不使用它。
[Code]
function GetFileDrive(Param: string): String;
begin
Result := ExtractFileDrive(Page.Values[0]);
end;
[Run]
Filename: {code:GetFileDrive}\postgresql-9.4.5-1-windows-x64.exe