6

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.

Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992
AnthonyVO
  • 3,821
  • 1
  • 36
  • 41

1 Answers1

10

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.

Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992