Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 8.1 Pascal程序写的不是我所期望的_Windows 8.1_Inno Setup_Pascal - Fatal编程技术网

Windows 8.1 Pascal程序写的不是我所期望的

Windows 8.1 Pascal程序写的不是我所期望的,windows-8.1,inno-setup,pascal,Windows 8.1,Inno Setup,Pascal,我正在尝试使用Inno安装程序创建一个安装程序,这是我以前从未使用过的,一切都很正常,只是我希望在安装时创建一个VERSION.txt文件。以下是我到目前为止所得到的,在我的脚本的最后: [Code] procedure writeVersion(); begin SaveStringToFile(ExpandConstant('{app}\VERSION.txt'), '{#MyAppVersion}', False); end; procedure nowWrite(); begin

我正在尝试使用Inno安装程序创建一个安装程序,这是我以前从未使用过的,一切都很正常,只是我希望在安装时创建一个VERSION.txt文件。以下是我到目前为止所得到的,在我的脚本的最后:

[Code]
procedure writeVersion();
begin
  SaveStringToFile(ExpandConstant('{app}\VERSION.txt'), '{#MyAppVersion}', False);
end;

procedure nowWrite();
begin
  writeVersion();
end;            
但是在我编译并运行安装程序之后,根本没有创建VERSION.txt文件。我以前从未使用过Pascal,这是我放弃之前所能做到的。为什么没有创建文件

编辑:
我试着加上

begin
  nowWrite();          
end.
按照@TLama的建议结束,但它仍然没有编写新文件


提前感谢您的帮助

您必须在标准安装程序事件中调用
noWrite
。目前,您的代码从未被调用

将列出支持的事件

例如:

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssPostInstall then
    nowWrite();  
end;

安装完成后将调用自定义代码。只需研究文档,选择符合您需要的事件。

您是否从某处调用
nowrite
过程?P.S.
ExpandConstant
对于仅扩展预处理器变量的第二个参数是不需要的。作为调试提示,请检查扩展的字符串以查看它们是什么。可能可以使用
writeln
检查表达式,尽管可能很难确定在哪里可以看到输出。它不是Pascal。你需要找个时间打电话。