- くだすれDelphi(超初心者用)その55
796 :デフォルトの名無しさん[sage]:2014/03/29(土) 08:43:24.44 ID:ss1xGzqs - >>794
>>795 えーはい、適当なプログラム、適当な命名、申し訳ありませんでした。 今後気をつけたいと思います。 「Freeしてnilする間に使われるからおかしい!」という主張は撤回された ものと受け止めさせていただきます。
|
- くだすれDelphi(超初心者用)その55
798 :デフォルトの名無しさん[sage]:2014/03/29(土) 08:58:08.53 ID:ss1xGzqs - あ、それから、別に承継しなくても同じUnit内ならprivate内の項目でも自由に使えますよ。
釈迦に説法でしょうけど。
|
- くだすれDelphi(超初心者用)その55
799 :デフォルトの名無しさん[sage]:2014/03/29(土) 09:18:19.16 ID:ss1xGzqs - >>797
質問者のレベルが高いと話のレベルも高くなるので難しそうに感じるかもしれませんが、 (質問者のレベルが低くすぎてもポイントがずれまくって難しそうに感じるか) スレをたどってもらえればわかるように根っこはTThread初めの一歩!みたいな話ですから 初心者向けの話だと思いますよ。 ようは、「FreeOnTerminate=trueが便利そう!」と思ってそこからスタートするとはまるよ、 大したメリットもないんだからFreeOnTerminate=falseで十分だよ、という話です。 多分この話題はもう秋田という感じなのでしょうけど、 初心者を助けたいと思っているだけで自説を押し付けるとかそういう意図ではないので 質問等が消えれば消えますので少しだけ我慢を
|
- くだすれDelphi(超初心者用)その55
804 :デフォルトの名無しさん[sage]:2014/03/29(土) 19:49:54.14 ID:ss1xGzqs - >>803
いえいえ「分かる人にはこれだけでわかるだろうけどわからない人も多いかもな・・・」 と思いながら書いた部分を指摘された的確な質問です。 例えばA1型で行こうと決めて(また適当なプログラムですみません)、 procedure TMyThread.execute begin Form1.MyThreadFinish:=false; try : finally Form1.MyThreadFinish:=true; (1) end; end; とかやっただけだと(1)の部分でご指摘のエラーが発生する可能性があります。 そこでこれを避けようと、真っ先に気づくのは既出のように procedure TForm1.destroy begin Mythread.terminate; end; とかやることですが、これだけではダメなことは既に指摘したとおりであり、 もうどうしていいかわからなくなりパニクる(私だけかもしれません)と いうわけです。
|