Иван Шихалев писал(а):Пример, плиз. В разных режимах передача и вызов процедурных типов действительно работает по разному.
Вот "чистый" случай:
----------------------------------------файл un.pp ----------------------------
{$SMARTLINK ON}
unit un;
interface
type TPr = procedure(N : integer);
function Ask(M : integer; Pr : TPr) : boolean;
implementation
function Ask(M : integer; Pr : TPr) : boolean;
begin Pr(M); Ask:=true end;
end.
----------------------------------------файл tt.pp -----------------------------
program tt;
uses un;
procedure One(N : integer);
begin writeln(N) end;
procedure Fis;
begin if Ask(4,One) then; end;
begin Fis
end.
------------------------------------------------------------------------------------
При компиляции tt.pp выдается:
Error: Wrong amount of parameters specified