Hen*_*tie 2 inno-setup pascalscript
我有一个 Inno Setup 脚本,其中包含一些基本内容的代码部分。但我还有另一个专门处理 Windows 服务的 Inno Setup 脚本文件 (.iss)。我想直接从我的主脚本调用这些函数/过程。那么如何将#include文件services.iss放入我的主脚本中,以便我可以从该Code部分调用其函数?
我在网上看到了一些示例,说明如何使用此方法拆分文件部分,这很棒,但我希望能够在安装之间使用通用代码脚本拆分代码部分。我到处都能找到它的提及,但没有任何地方告诉你如何做到这一点。
正如您自己提到的,请使用#include预处理器指令。
如果您有一个常见的代码文件,例如common.pas:
procedure CommonProcedure;
begin
// ...
end;
Run Code Online (Sandbox Code Playgroud)
您可以将其包含到主.iss脚本中,例如:
[Code]
#include "common.pas"
function InitializeSetup(): Boolean;
begin
// Calling procedure included from the common.pas
CommonProcedure;
Result := True;
end;
Run Code Online (Sandbox Code Playgroud)
扩展名并不重要。我使用过.pas,因为该文件纯粹是 Pascal(脚本)代码。但如果你愿意.iss,那是你的选择。尽管如此,从语法上讲,将节名称包含到文件中会更合适:
[Code]
procedure CommonProcedure;
begin
// ...
end;
Run Code Online (Sandbox Code Playgroud)
并将文件包含在该部分之外[Code]:
#include "common.pas"
[Code]
function InitializeSetup(): Boolean;
begin
// Calling procedure included from the common.pas
CommonProcedure;
Result := True;
end;
Run Code Online (Sandbox Code Playgroud)
这种方法甚至为您提供了更大的灵活性,例如,如果您的代码需要一些支持文件:
[Files]
Source: "InnoCallback.dll"; Flags: dontcopy
[Code]
procedure CommonProcedure;
begin
// ...
end;
Run Code Online (Sandbox Code Playgroud)
(虽然这只是编码风格的问题。从技术上讲,这并不重要,因为这些部分可以以任何方式混合。所以你可以先有一个部分[Code],然后是[Files]一个部分,然后是另一个[Code]部分)。
| 归档时间: |
|
| 查看次数: |
1359 次 |
| 最近记录: |