Цитата:
Сообщение от ART
Так есть ли возможность мне в destroy узнать именно @Obj ?
|
Образно говоря, вызов деструктора выглядит так:
Код:
var object: pointer;
...
Destroy(object);
; -------------------
mov ecx, [object]
push ecx ; пусть будет stdcall, в данном случае не важно
call Destroy
При этом конструкция @Obj выглядит как
То есть в деструктор мы передаем значение, выдранное из памяти, а @Obj - это просто адрес.
Аналогия: в первом случае мы взяли книгу с полки и отнесли ее другу. Он никак не сможет узнать, где эта книга стояла ранее (без посторонней помощи).
Во втором случае мы сказали другу: "книга на такой-то полке, возьми сам".
В деструктор передается первым способом.