■ HaltとTerminate
マプー
2009/03/28(土) 22:37:28 <初心者> 
現在QuadrupleDを使用してゲームを作成中なのですが、
ゲームの終了部分でDDSDNotifyThreadがエラーを吐きます。
おそらく読み込み途中で開放処理が入るせいでしょうが・・・
このとき、
Application.Terminateだとエラーが起こりますが、
System.Haltだとエラーは起こりません。
ヘルプによるとHaltはアプリケーションを以上終了させる、とありますが、
Haltを通常終了に使用していいのでしょうか。
やってみた感じでは良さ気でしたが・・・
monaa
2009/03/29(日) 15:55:18
QuadrupleDは以前少しだけ触っただけなので詳しいお答はできませんが、
System.Haltはエラーが起こらないのではなく、無視しているだけです。
毎回そんな終了処理はすべきではないと思いますが、
配布目的でなければ問題ないかと思います。
ちなみに公式サイトが放置っぽいのでQuadrupleDについても触れますが、
D2009,vista,DirectX10でQuadrupleDを少しいじってUnicodeに対応させれば
普通にテストした限りでは終了時にDDSDNotifyThreadエラーは起こらなかったので
原因究明したほうがすっきりするとは思います。
ご自分の環境でチュートリアルを実行し最小環境で終了時エラーが出るのかを確認して、それでも出るのであれば、使用環境を教えてください。
最小環境で出ないのであれば知りませんw
マプー
2009/03/29(日) 17:53:35 <初心者> 
なんだかTerminateもHaltも両方エラーでるようになりました(-ω-;
×ボタンクリックではエラー吐きません。
DDSDチュートリアルでも、×ボタンではエラーでませんが
Terminate、Halt両方でDDSDNotifyThreadにてアクセスバイオレーション・・・
直前にDDSD1[0].Stopをいれてもダメでした。
環境はTurboDelphiExproler、vista、DirectX10です
http://ddev.blog46.fc2.com/blog-entry-55.html
コンポーネント使用方法は上記の通りです。
もしかしたらココが原因・・・?
マプー
2009/03/29(日) 18:08:03 <初心者> 
理由は不明ですが、TCustomForm.Closeを使用すると
エラーが出なくなりました。
一応解決をつけておきます
マプー
2009/03/29(日) 19:58:53 <初心者> 
[[解決]]
ついてませんでしたねorz
マプー
2009/03/29(日) 20:09:50 <初心者> 
何回か実行するうちにまたもやエラーが・・・
Closeもダメなようです・・・
毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!
