Czy ktoś tutaj wie, w jaki sposób Delphi reprezentuje odniesienie do procedury?Wewnętrzna (pamięć) reprezentacja TProc i referencje w ogóle
np
var
proc: TProc;
...
proc = procedure begin beep end;
co mamy w "obrady"?
Wiem, że dla "zmiennej metody" reprezentacja pamięci wynosi 4 bajty dla "adresu procedury", po którym następują 4 bajty dla "adresu obiektu", ale dla "odniesienia do procedury" jest nieco inna i nie mogę do końca to.
Powodem, dla którego chcę, jest to, ponieważ mam jakiś staroświecki kod, który chcę, aby działał z referencjami.
Czy ktoś wie coś na ten temat?
http://alex.ciobanu.org/?p=27 –
Ogólnie "odwołanie do procedury" odbywa się w specjalnej zmiennej interfejsu generowanej przez kompilator. Gwarantuje to, że jest to odniesienie zliczone, aby wychwycone zmienne mogły zostać usunięte, gdy nie ma żadnych referencji. Nie musisz wiedzieć, w jaki sposób jest on implementowany, aby pracować z 'odniesieniem do'. Właśnie dlatego masz kompilator. –