我想知道是否可以在 Inno Setup 中定义我自己的单元或类 – 包含字段(就像定义
record
)和方法。
不,您只能定义:
record
关键字)-仅限字段,并且interface
关键字) – 仅抽象方法 – 用于 COM/ActiveX。但是你不能实现类(字段和方法)。
Pascal 脚本甚至无法识别
class
关键字。
连
unit
都没有。 Inno Setup Pascal 脚本只是一个代码块。尝试隐藏某些实现/代码确实没有任何意义。
如果您只是想以某种方式组织代码,可以使用 Inno Setup 预处理器
的
#include
指令 将代码拆分为文件。
您可以拥有一个类似头文件/接口的文件,其中包含“公共”函数/过程的原型/前向声明,以及类似实现的文件,其中包含实现和“私有”函数/过程。
类似界面的文件(比如
header.iss
):
procedure PublicProc; forward;
类似实现的文件(比如
impl.iss
):
procedure PrivateProc;
begin
...
end;
procedure PublicProc;
begin
PrivateProc;
end;
并像这样使用它:
[Code]
#include "header.iss"
function InitializeSetup: Boolean;
begin
// Here we can use the PublicProc, but not PrivateProc
end;
#include "impl.iss"