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