したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

Free

209福井:2019/08/04(日) 03:52:50 ID:VzM6U77U0
>>208
まず、好きなように改造してくださいね。
好みの理由以外ならもらっていきたいし、正直勘違いだと思ったら指摘したい。
でも、だいたい理由がわからず真意を知りたいことが多い…

レジストリが#if 0の理由がわかってよかったです。関連付けを戻す処理は確かにないです。
バックアップしといてUNDOしないとてダメですよね。
レジストリは、僕もWin9xの初期の頃はとても気にしていました。でももう気にしてもいません。
ほんというと、これは他の方がつけてくれました。
そのうち対策を考えるかもしれませんが、これはこちらではほっておくかREGファイル提供にするか…
自分は、MFCのフレームワーク内で使って、Uninstallerで削除でいつも使っていて、
ノウハウないので、誰かがくれると楽…と思って、今回は放置しときます。
…と思ったのですが、#if 0にしようかな…自動起動して嬉しい気がしないというか、
ステートセーブ作ったけどテストにしか使ったことない…そして、今#if 0に決定しました。
でも、もともとわざわざ「管理者として実行」しないと無視だったり…

CreateThread vs _bgeinthereadexに関しては、/MT指定してマルチスレッドランタイムを使用していれば問題ないですよ。そこなのではないかと。もしかしたら、TF-Editionで僕が変更したかも。
他にダメな理由があったらとっても知りたいです。Windowsは奥が深いので…

WM_CLOSE/DESTROYですが、ウインドウが消えてからの処理でいいものなばかりだった気が…
ただ、だ〜っと書かれててわかにくいとは思います…もう忘れました。
自分がどういじくったか記憶ないし、見直す元気もないので、違うかったらとっても知りたい…

deviceDlgは、どこかでvolumeが効かないというのを見た記憶があるので、それの対策を考えていたのではないかと思うのですが、あれでは直らないし、私の書き方は昔からのWIN32APIのやり方で、あれでいいんです。
そもそも再起動するようにしたのは、Windows 10でsound.cppの再起動ができなくなり、
とうも旧Direct Sound互換関係のバグとしか思えないのでそうしました。というのはビデオもダメだった。
Win 10になって、なんたらリリースの毎にDirect Xの挙動は変わっているようで、他のもいろいろ問題発生するから、
見るのやめました。(8系使ったことないので、8以降かどうか知らない)
最近はそうでもないけど、旧DirectX互換ライブラリはかなり怪しい思います。
UNIX版もPulseAudioになってESD互換ライブラリに変わってから効かないんです。
全部新しい環境で書き直さないとダメなんですが、正直めんどくさいし元気ありません。
あるならもらえないかな〜と思っている私です。

WindowsのアプリケーションってXP時代を最後に趣味以外で書くことなくなりました。
当時はMFCばかりで、Bounds CheckerかけるとMSライブラリ内でそんなんの山なので、仕様だと思っています。
でも、スレッドのCloseHandle()、あれは playDestroy = TRUE;で10ms後に終わるので、使っていないのです。
playDestroy = TRUE; setplaystop( mz, TRUE );
でもうWaitForSingeObject()できないのです。しかもそれがよいタイミングなのです。
固まるならOSの終了処理が良いんです。最後まで実行されているので。
もう忘れていましたが、僕もやっぱりとても気になったので、
WaitForSingleObject( mz2000 -> mainloop_thread_handle, MZ2000_REFRESHRATE * 5 /* ms */ );
こうしました。(50ms waitでタイムアウト)
確信しましたが、僕はこれに気づいていないパッチだと思います。

でも、他人のソースについてこんなことまで調べないのが普通だと思います。
それに、単純ミスってよくあるもんでだ〜っと書いてわかりにくいソースだし、そうだと思って悪いことない、というかバグ見つけて教えて欲しい…


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板