掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Freeされたか知るには? (ID:3213)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
参照先から、参照元がFreeされたかどうかを確認するにはどうすればいいのでしょうか? --------------------------------------------------------- 例) var S:string; function Test(T:TObject;St:String):string; var s1,S2:string; begin If T=nil then s1:='T:nil' else s1:='T:Not nil'; if assigned(T) then S2:='T:Assignd=True' else S2:='T:Assignd=False'; S:=S+ ST+' '+s1+' '+s2 +#13+#10; end; procedure TForm1.Button1Click(Sender: TObject); var T,P:TObject; begin T:=TObject.Create; P:=T; Test(T,'T:create'); Test(P,'P:create'); T.Free; Test(T,'T:Free'); Test(P,'P:Free'); T:=Nil; Test(T,'T:Nil'); Test(P,'P:Nil'); SHowmessage(S); end; 結果: --------------------------- T:create T:Not nil T:Assignd=True P:create T:Not nil T:Assignd=True T:Free T:Not nil T:Assignd=True P:Free T:Not nil T:Assignd=True T:Nil T:nil T:Assignd=False P:Nil T:Not nil T:Assignd=True --------------------------- PからTがFreeされているかどうかを知るにはどうするのでしょうか。 また、Assignedの必要性は何なのでしょうか。 If T<>nil then と If Assigned(T) then とは同じでしょうか。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.