2016-04-12 10 views
1

私はそうのようなAfterInstallアクションと私のインストーラのファイルを持っている:Inno Setupの - パスカルコードの可視性 - 「不明な識別子」エラー

AfterInstall: UpdateImageLoaderConfigValues() 

をそして私は二度同じパスカルスクリプト機能を呼び出すための手順を実行したいと思います私は、私の知る限り承知していますように2つの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); 

問題は、コンパイルが原因

不明識別子私はこの機能を使用しようとしていますUpdateImageLoaderConfigValuesの点で「SaveValueToXML」

エラーで失敗したということです。

SaveValueToXMLUpdateImageLoaderConfigValuesに表示させるにはどうすればよいですか?

答えて

1

あなたはUpdateImageLoaderConfigValuesSaveValueToXMLを定義する必要があります。

[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;