'Can you define a function prototype in Inno Setup

I would like to be able to structure my code for my Inno Setup project but I am forced to move code around because you can't call a function unless it is defined first.

Is there a way to declare a prototype at the top so that I don't get the "Unknown identifier" error and so that I can structure my code in logical blocks.



Solution 1:[1]

In Pascal (including a Pascal Script used in Inno Setup), you can define a function prototype (aka forward declaration) using a forward keyword:

procedure ProcA(ParamA: Integer); forward;

procedure ProcB;
begin
  ProcA(1);
end;

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

See Forward declared functions.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1