|
ども、杉浦 まさき です。
>>田楽のスレッドは生き続けましたが、ダイアログを閉じることが
>>できませんでした。なぜ?
>うぅ、何故だろう…??
>#その場合、ENDDIALOG() の呼出しまではいってるんでしょうか?
ENDDIALOG() の中でダイアログウィンドウに
SendMessage() でメッセージを送っていた所を
PostMessage() に変えたらとりあえずダイアログは
閉じるようになりました。
で、田楽DLLの WAITCTRLNOTIFY() の中で
WaitForSingleObject() の代わりに
MsgWaitForMultipleObjects() を使って、
さらに自前でメッセージループを回すようにしたら、
disablebreak しても死ななくなりました。
#秀丸ウィンドウをクリックしても「実行を中止しますか?」
のメッセージも出ません。
とりあえず解決できたみたいですが、DLLの関数内部で
勝手にメッセージループを回すことに
多少罪悪感(^^;を感じてます。
もしこれで秀丸側が問題なければ万事OKなんですが…??
#サーバの方に影響があるかもしれませんけど(^^;。
#一応修正したソースを以下の場所にアップしておきます。
http://www.ceres.dti.ne.jp/~sugiura/hidemaru/macros/dgserver/dengaku_src_196
b.lzh
#変更したのは sharedbuf.h と thread.h,cpp です。
|
|