2016-04-12 5 views
1

У меня есть файл в мой инсталлятор с AfterInstall действием, как так:Inno Setup - Pascal код видимости - ошибка «Неизвестный идентификатор»

AfterInstall: UpdateImageLoaderConfigValues() 

И я хотел бы процедуру назвать ту же функцию Pascal Script дважды как я не могу иметь два AfterInstall действия, насколько я знаю, так что я установить это так:

procedure UpdateImageLoaderConfigValues(); 
begin 
    SaveValueToXML(ExpandConstant('{app}\ImageLoader.exe.config'),{#ImageLoaderLastConfigurationPath}, ExpandConstant('{app}/Configurations')) 
    SaveValueToXML(ExpandConstant('{app}\ImageLoader.exe.config'),{#ImageLoaderLastImagePath}, ExpandConstant('{app}/Images')) 
end; 

И моя функция SaveValueToXML имеет подпись:

function SaveValueToXML(const AFileName, APath, AValue: string); 

Проблема заключается в том, что компиляция терпит неудачу из-за

Неизвестный идентификатор «» SaveValueToXML

ошибки в точках в UpdateImageLoaderConfigValues, где я пытаюсь использовать эту функцию.

Как я могу сделать SaveValueToXML видна UpdateImageLoaderConfigValues?

ответ

1

Вы должны определить SaveValueToXML до UpdateImageLoaderConfigValues:

[Files] 
Source: ...; AfterInstall: UpdateImageLoaderConfigValues() 

[Code] 

function SaveValueToXML(const AFileName, APath, AValue: string); 
begin 
    // ... 
end; 

procedure UpdateImageLoaderConfigValues(); 
begin 
    SaveValueToXML(ExpandConstant('{app}\ImageLoader.exe.config'),{#ImageLoaderLastConfigurationPath}, ExpandConstant('{app}/Configurations')) 
    SaveValueToXML(ExpandConstant('{app}\ImageLoader.exe.config'),{#ImageLoaderLastImagePath}, ExpandConstant('{app}/Images')) 
end; 
Смежные вопросы