09/04/25 18:54:06
>>341はたぶん一つのオブジェクトに複数の参照があってその管理で困ってると思うんだけど、
そういう場合は参照カウンタで管理すべきじゃないかと思う。別解としては、参照をさらに参照する。
type
PObject = ^TObject;
var
p1: PObject;
p2: PObject;
p1^ := TObject.Create;
p2 := p1;
この状況下で、
p1^.Free;
p1^ := nil;
この時点で当たり前のこととしてp2^もnilになるから、p2を見る手続きからも実体が解放された事は分かる。
ただ、こういうのは小手先の話で、あまりそういう事をしなくてもいいのがよい設計だと思う。