喫茶XRAYトップページ

[スレッド全体
]

[758] Re2:こんなの有効?返信 削除
2006/4/25 (火) 15:40:25 Syake
▼ Mr.XRAYさん

> 私自身、コードは問題ないと思うのですが。
> 上の(1),(2)はその通りでしょうね。
> (3)はnilにしないと、nilにならないのではないかと(何か変な表現だけど)。

ありがとうございました。

確かにMasteringDelphi6にそのような記述がありました。
//-------------------------------------------------------------//
nilに設定するのはプログラマの仕事なのだ。
(略)
オブジェクトを自動的にnilに設定するのは不可能である。
それは、同じオブジェクトが複数の変数から参照されている可能性があり
Delphiはそれらの参照を追跡管理しないからだ。
Freeなどのメソッド内部ではオブジェクトの操作はできるが、そのオブジ
ェクトの参照(そのメソッドの呼び出しに利用した変数のメモリアドレス)
については何もわからない。
メソッドの内部ではオブジェクトのメモリアドレスを知ることはできるが
そのオブジェクトを参照している変数のメモリアドレスまではわからない
とういことだ。
//--------------------------------------------------------------//
だ、そうでございます。
本を読んでると3分で寝てしまう私はまったく頭に入ってませんでした。

Release
//-------------------------------------------------------------//
フォームのReleaseメソッドは、オブジェクトのFreeメソッドと同じよう
なものだ。
違いは、全てのイベントハンドらがその実行を完了するまで、フォーム
の破棄が延期されることだ。
フォームの中でFreeを使うと、アクセス違反が発生する可能性がある。
・・・・
//--------------------------------------------------------------//
フォームの中でFreeを使うと・・・・え゛っ?どういうこと。
例えばOnCloseの中でFreeを使うって事?
自分で自分をFreeしちゃうんですね(自殺)。
怖くてできません。
で、フォームの外なら良いのですかね(他殺)。
表現悪m(__)m




[760] Re3:こんなの有効?返信 削除
2006/4/25 (火) 16:00:37 Syake
マスター

読んでませんね。
>フォームのイベントでは、FreeではなくReleaseを使用するべき
フォームの中つまり(自殺)ですね。

マスターがエラーにならないのは、その辺を見極めて適切に処理
されているからでしょう。
私がエラーになったのは・・・・です。(;_;)

[773] Re4:こんなの有効?返信 削除
2006/4/26 (水) 10:16:31 ちいんけ
▼ Syakeさん

> >フォームのイベントでは、FreeではなくReleaseを使用するべき
> フォームの中つまり(自殺)ですね。


さらに、Delphi-MLでこんな記事をみつけました。

[Delphi-ML:36522] Re: 動的なフォームの作成について
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=036522

ノンモーダルなフォームのときは参考にさせていただいてます。

ちいんけ@

[774] Re5:こんなの有効?返信 削除
2006/4/26 (水) 20:42:35 Syake
▼ ちいんけさん

勉強になります。
ありがとうございます。m(__)m


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82