2015-05-06 163 views
3

我希望能够构建我的代码为我的Inno Setup的项目函数原型,但我不得不因为你不能打电话,除非先定义一个函数来移动代码。可以定义Inno Setup的

是否有在顶部声明一个原型,这样我就不会得到“未知的标识符”错误,这样我可以构建我的代码在逻辑块的方式。

回答

5

在帕斯卡(包括Inno Setup的使用Pascal脚本),你可以使用一个forward关键字定义一个函数原型(又名向前声明):

procedure ProcA(ParamA: Integer); forward; 

procedure ProcB; 
begin 
    ProcA(1); 
end; 

procedure ProcA(ParamA: Integer); 
begin 
    { some code } 
end; 

Forward declared functions

+0

不幸的是,当文档被重新编号的文档链接改变。 “Forward forward functions”现在是第14.7节,网址为http://www.freepascal.org/docs-html/ref/refse93.html#x184-20600014.7。我想知道是否必须将所有参数包含在前向引用中,或仅包含函数名称。根据文档中的示例,我不得不包含params。 –

+0

谢谢。 1)我纠正了这个链接。 2)当然你需要包含参数。这是宣言的要点。我已经为示例添加了一个参数。 –

+0

我想编译器可以写成这样,它认为当一个“向前”它只是期待看到完整的声明与参数。更新的例子有助于澄清它需要“预先”完整的声明。 –