Forward Referencing/bg

From Lazarus wiki

български (bg) English (en) français (fr) 日本語 (ja) 中文(中国大陆)‎ (zh_CN)

 ◄   ▲   ► 

4F - Forward Referencing (author: Tao Yue, state: unchanged)

След всички тези объркващи теми, ето нещо по-лесно.

Спомяте ли си, че процедурите / функциите могат да виждат само променливи и други подпрограми, които вече са дефинирани? Е, има изключение.

Ако имате две подпрограми, всяка от които извиква другата, имате дилемата, че без значение коя ще поставите на първо място, другата все още не може да бъде извикана от първата.

За да разрешите този проблем с кокошката и яйцето, използвайте препращане напред.

procedure Later (parameter list); forward;

procedure Sooner (parameter list);
begin
  ...
  Later (parameter list);
end;
...
procedure Later;
begin
  ...
  Sooner (parameter list);
end;

Същото важи и за функциите. Просто напишете forward; в края на заглавието.

 ◄   ▲   ►