8
Nie rozumiem dlaczego następujący niewielka aplikacja konsoli nie kompiluje:Korzystając z Delphi, nie można użyć typu anonymus jako typu rekordu?
program Project1;
type
TProc = reference to procedure;
TMyRec = record
Proc: TProc;
end;
var
myProc: TProc;
myRec: TMyRec;
begin
myProc := procedure begin writeln; end;
myProc; // compiles fine
myRec.Proc := procedure begin writeln; end;
myRec.Proc; //E2014 Statement exptected, but expression of type 'TProc' found
end.
Zwykłe stare procedury pascowe można wywoływać bez nawiasów, jak sądzę, procedura-ref jest inna. –
Dzięki, nie spodziewałem się tego. Jaki może być powód tego wymogu? Ile to jest inne niż z myProc; linia? –
@WarrenP: IIRC tak było w przypadku odwołań do metod klas, przynajmniej gdy przekazałeś je do innej funkcji jako argument ... –