5
Итак, у меня есть функция, которая обновляет некоторый XML, и я хотел бы передать {AppVersion}
, который был установлен в части скрипта [Setup]
как константа для этого функцияИспользование {AppVersion} в качестве параметра для функции в Inno Setup
Я попытался
MyFunction(ExpandConstants({AppVersion})
Но это дает мне ошибку? Как передать эту константу в моей функции правильно
Мой код
[Files]
Source: ".\Source\myfile.txt"; DestDir: "{app}\System"; AfterInstall: MyFunction('{#SetupSetting("AppVersion")}')
[Setup]
AppId=MyApp
AppName=My Application
AppVersion=011
DefaultDirName=C:\MyApp
[Code]
procedure MyFunction(Text: String);
begin
MsgBox(Text, mbInformation, MB_OK);
end;
Привет @TLama, Еще раз спасибо за помощь. Я думаю, ты на правильном пути. См. Мое обновление к вопросу для некоторого примера кода того, как я пытаюсь это использовать. В настоящее время мой код показывает пустой MessageBox, а не номер версии в нем. Что я делаю не так? – user1
Переместите раздел '[Files]' после раздела '[Setup]'. Препроцессор работает сверху донизу, и он еще не знает директивы 'AppVersion'. Один намек на использование препроцессора; вы можете сохранить полностью препроцессорный сценарий, если вы напишете строку '#expr SaveToFile (« C: \ PreprocessedScript.iss »)' в самом конце вашего скрипта (единственным параметром является путь, в котором должен храниться предварительно обработанный скрипт). – TLama
NeverMind Я осознал свою ошибку из [здесь] (http://stackoverflow.com/a/1926709/2987066) раздел '[Setup]' должен появиться перед '' {#SetupSetting ("AppVersion")} ' 'строка в файле iis – user1