終了時の異常No.35770
oqqu さん 09/03/01 22:52
 
「秀丸メール終了時にゴミ箱を空にする」の設定をしていて
ゴミ箱に500通以上のメールがある状態で、秀丸メールの終了を行うと
ゴミ箱の削除だけを行い、終了が実行されないことが時々あるのですが
同様の報告はないでしょうか?

使用上問題になるような現象ではありませんが....

[ ]
RE:35770 終了時の異常No.35776
秀まるお2 さん 09/03/02 09:03
 
 こちらで似たような状況を作ってテストしてみた限りでは、うまく再現出来ま
せんでした。といっても数回テストしただけですけど。

 ソースコードも見直してみたんですが、ゴミ箱を空にする処理で何かが起きた
としても、秀丸メールの終了をキャンセルするような処理はしていないようでし
た。

 ということでよく分かりませんが…

 秀丸メールの終了を指示しても終了しないようなことをやる1つの方法として
は、秀丸メール終了時に自動実行するマクロの中で、SetCancel関数を呼び出す
というのがあります。マクロでSetCancel関数を呼び出した場合は秀丸メールの
終了がキャンセルされます。

 もしかして秀丸メール終了時に何かマクロを自動実行するように設定されてい
るのだとしたら、それを一回外してテストしてみて欲しいです。

 それ以外にはちょっと原因が思いつかないです。もしかしたらゴミ箱を空にす
ることとは関係なく、何か別の条件が関係して発生してるのかもしれないし。

[ ]
RE:35776 終了時の異常No.35788
oqqu さん 09/03/04 00:00
 
ご回答ありがとうございます。
マクロの実行等、心当たりはないのですが...

他にレスがつかないことからも、たぶん私だけの現象なのでしょう。

もう少し様子を見て、ヒントになりそうなことが見つかれば、また、報告します。


[ ]
RE:35788 終了時の異常No.35791
秀まるお2 さん 09/03/04 13:20
 
 ちなみにですが、秀丸エディタには、秀丸エディタの動作をファイルに逐次出
力するオプションがあって、それで出力された内容を僕が見れば何か原因が分か
るかもしれません。

 そのオプションは、「全般的な設定・上級者向け・動作の記録」の所にある、
「秀丸メールの動作をdump.txtに出力する」という物です。

 それをONにして使っていただいて、もし問題が発生したら、そのときのdump.
txtファイルの末尾の部分付近を切り取って僕に送っていただくなどするとあり
がたいかもしれません。

 メールで送っていただくとしたら、"maruo@mitene.or.jp"宛になります。

 内容が短い場合はここの会議室に書き込んでいただいてもいいです。

 ということで、もし良かったらお願いします。

[ ]
RE:35791 終了時の異常No.35797
秀まるお2 さん 09/03/06 08:50
 
 dump.txtを送っていただきました。ありがとうごさいます。

 送っていただいたdump.txtによると、たしかに秀丸メールの動作が異常になっ
てる記録が出ていました。ShowWindowっていうAPIを使って秀丸メール本体ウィ
ンドウを非表示にしようとして失敗しているようでした。

 実は、同じような話(終了しようとしても終了してくれないケース)が以前に
もあったようで、そういう場合に秀丸本体ウィンドウを非表示にする処理を何度
も再試行するような処理が既に入っていました。でもそれでもやはり終了に失敗
しているようでした。

 再現条件としては、たぶん「終了の指示が来てからあまりにも時間がかかった
場合」ってことかと思うんですが、とにかくいろいろテストして、再現しないに
しても、なんとか無理矢理終了するように工夫してみます。

[ ]
RE:35797 終了時の異常No.35799
秀まるお2 さん 09/03/06 09:45
 
 次のベーター版で対処を入れてみますけど、直るかどうかいまいち自信がない
です。

 もしダメでしたらまた連絡いただきたいと思います。

[ ]
RE:35799 終了時の異常No.35800
oqqu さん 09/03/07 00:57
 
さっそく、最新のベータ版使わせていただきました。

少し以前と違って....

終了はしませんでしたが、画面が最小化されました。
あと一歩(?)ってところでしょうか。

再現ができない環境で、ご検討いただき申し訳ないです。

[ ]
RE:35800 終了時の異常No.35808
秀まるお2 さん 09/03/09 08:50
 
 画面が最小化されるのは実は想定内の動作でした。

 実は、ウィンドウを非表示にしようとしても失敗したら、とりあえずウィンド
ウを最小化するようにしてました。最小化してから20ミリ秒間隔のタイマーを起
動して、とにかく徹底的に秀丸メール本体ウィンドウを繰り返し「非表示にす
る」ってやりまくるようにしています。

 そういう風にして無理矢理非表示にしてるつもりなんだけども、非表示になっ
てくれないんですよね。

 何か秀丸メール以外のソフトが秀丸メールを無理矢理表に出してるのではない
かと思うんですが、例えば仮想デスクトップのソフトとか、何か普通のWindows
環境には入ってなさそうなソフトって使われてはいないですかね?

 といいつつも、次のβ版では別の対策を入れてみます。なのでまた次のβ版が
出たら、よかったら試してみて欲しいです。

[ ]
RE:35808 終了時の異常No.35865
oqqu さん 09/03/16 23:05
 
Ver5.16β6使わせていただいています。

約1週間使ったのですが...
削除メールが、300〜400件程度のときには問題なく終了するので、
やや改善されたのかもしれませんが、1000件近くなると、最小化
の状態で止まってしまいます。

> 何か秀丸メール以外のソフトが秀丸メールを無理矢理表に出してるのではない
>かと思うんですが、例えば仮想デスクトップのソフトとか、何か普通のWindows
>環境には入ってなさそうなソフトって使われてはいないですかね?

思い当たるものはないのですが...

[ ]
RE:35865 終了時の異常No.35868
秀まるお2 さん 09/03/17 09:38
 
 実は、dump.txtにまた詳しい情報をいろいろ出すようにしているので、また
dump.txt教えて欲しいです。

will retry hide-window
nRet=XXXX code=XXXX
retry hide-window by timer
IDTIMER_FORCEHIDEWINDOW

 のような記録が出てるはずなんですけど、どうでしょ?。その記録が出てる付
近前後を教えて欲しいです。

 (メールで送っていただく場合は、"maruo@mitene.or.jp"宛にお願いします)

[ ]
RE:35868 終了時の異常No.35875
oqqu さん 09/03/18 01:06
 
以下に貼り付けます。

01:00:00.241 ( 353) CFolderProp::SaveAll()
01:00:00.241 (6519) will retry hide-window
01:00:00.241 (6523) nRet=0 code=183
01:00:00.257 (6535) retry hide-window by timer
01:00:00.257 (6874) DefWindowProc done nRet = 00000000
01:00:00.257 (1443) IsProcessExitable: IconInTaskbar
01:00:00.460 (7293) IDTIMER_FORCEHIDEWINDOW
01:00:00.460 (7297) Hide successful.
01:00:00.475 (7707) WM_ACTIVATEAPP true
01:00:00.491 (7301) Hide successful. 2
01:00:00.491 (7307) hide but foreground
01:00:02.257 (1443) IsProcessExitable: IconInTaskbar
01:00:05.257 (8021) SetWaitCursor 0
01:00:05.257 (8030) ShowCursor(1)
01:00:05.257 (8082) RestoreWaitCursor 0
01:00:26.616 (12057) SetForegroundTopWindow 0090029A
01:00:26.616 (7707) WM_ACTIVATEAPP true
01:00:28.022 (12426) Cmd 40244
01:00:28.022 (1862) DeleteIconOnTaskbar()
01:00:28.038 (13823) 40085 ret 1
01:00:28.038 (1453) IsProcessExitable: TRUE
01:00:28.038 (1532) ループ終了
01:00:28.038 ( 353) CFolderProp::SaveAll()
01:00:28.038 (1862) DeleteIconOnTaskbar()
01:00:28.038 (12005) ViewDlgProc WM_DESTROY
01:00:28.054 (2538) will Cleanup()
01:00:28.054 (2556) 終了 pid=656
01:00:36.382 (2126) 秀丸メール開始 V5.16beta6 IEVersion=60, fWin98=1, fWin20
00=1 fLargeMem=1 2009/03/18 01:00 pid=824
01:00:36.382 (1217) GetTimeZoneInformation return=0 bias=-540 stdbias=0 dayl
ightbias=0
01:00:36.382 (2274) will InitApplication
01:00:36.382 (2278) will CreateMainWnd
01:00:36.413 (1549) HmCreate
01:00:36.413 (   0) call WinMainSub
01:00:36.413 (   0) FrameWndProc: WM_CREATE
01:00:36.413 (   0) ClientWndProc: WM_CREATE
01:00:36.429 (   0) return WinMainSub
01:00:36.429 (1553) HmCreate return
01:00:36.429 (1128) ShowWindow 1
01:00:36.429 (7324) showwindow
01:00:36.444 (7707) WM_ACTIVATEAPP true
01:00:36.522 (2295) MainThread id=3152
01:00:36.522 (1737) AddIconToTaskbar()
01:00:36.522 (1740) AddIconToTaskbar() Do.
01:00:36.538 (14116) StartAutoDownTimer()
01:00:36.538 (14136) StopAutoDownTimer()
01:00:36.538 (2456) will message-loop
01:00:36.538 (14116) StartAutoDownTimer()
01:00:36.538 (14136) StopAutoDownTimer()
01:00:37.429 (9977) GetListWnd: iFolder < 0
01:00:39.382 (6809) syscommand 0xF095
01:00:39.382 (6870) will DefWindowProc
01:00:42.225 (6874) DefWindowProc done nRet = 00000000
01:00:42.225 (12426) Cmd 40017
01:00:42.241 (8214) EnterTrans
01:00:42.241 ( 110) load filterdll
01:00:42.241 ( 118) done
01:00:42.241 ( 141) done
01:00:42.241 ( 678) InitializeFilter
01:00:42.272 (8242) Trans mutex
01:00:42.272 (7599) InitPatrol

[ ]
RE:35875 終了時の異常No.35877
秀まるお2 さん 09/03/18 09:19
 
 一回無理矢理ウィンドウを非表示にする(非表示のダミーウィンドウを生成し
てそれの子ウィンドウ化する)のは成功してるようですが、その後親ウィンドウ
を元に戻したらまた画面上に出てきてしまったってことみたいです。

 ずっと非表示ダミーウィンドウの子ウィンドウとして置いておくしか無いので
すかね。困りました。

 なんとかその状態でうまく動くようにしようと思います。

[ ]
RE:35877 終了時の異常No.35881
oqqu さん 09/03/19 00:48
 
Ver5.16β8 使ってみました。

今までなら、ほぼ異常を起こすであろう条件で2回試みましたが、
2回とも問題なく終了できました。

しばらく様子をみますが、大丈夫そうです。

どうもありがとうございました。

[ ]
RE:35881 終了時の異常No.35882
秀まるお2 さん 09/03/19 09:07
 
 ちなみに修正した方法は…、ウィンドウを最小化しつつ、ウィンドウスタイル
のWS_POPUPを無理矢理ONにするということで、画面上からもタスクバー上からも
消す、という風にしてみたのでした。

[ ]