起動時マクロの注意ダイアログNo.14411
まんぼう さん 03/09/03 21:49
 
昨日、鶴亀を起動しようとしたら、
「起動時に、***.macを実行しようとしています。問題がある場
合は中止できます」
というような(表記はうろ覚えです)ダイアログが出たのですが、
これは何の異常を示しているのでしょうか?
そのダイアログの背後には、いつもの鶴亀のウィンドウがすでに出
ていました。

当日行なったことは、
1.朝、鶴亀を立ち上げてメールチェック。終了してシャットダウン。
2.夜、鶴亀を立ち上げたところ上記の現象。

1.から2.の間は設定の変更やソフトのインストールどころか、PC
  の電源も入れていません。
その後、鶴亀を何十回も作動しましたが一度も再現しません。
セキュリティ/ウィルスチェック関係のソフトは一切(購入・試用
も含めて)使用していません。
鶴亀以外のものが出したって可能性はありますでしょうか?
ちょっとウィルスの心配をしてしまったり...

起動時に実行されるマクロは、以下の通りです(最終更新日は6/30
ですので2ヶ月以上変更なしです)。

■鶴亀起動.mac
loaddll "TKInfo.dll";

#n=dllfunc("DisableDraw",1);

#n=dllfunc( "SelectFolder", "*****", "受信" );
#n = dllfunc("SelectPane", 1);

#n=dllfunc("EnableDraw");
execmacro "自動切断on.mac";

■自動切断on.mac
    loaddll "tkinfo.dll";
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\
    Config";
    writeregnum "LeaveDialup", 3;
    closereg;
    #n = dllfunc("EnvChanged");


[TuruKame 3.02 / Win XP Home SP1]

[ ]
RE:14411 起動時マクロの注意ダイアログNo.14414
秀まるお2 さん 03/09/04 11:57
 
 鶴亀メールで何らかの内部的なエラーが発生したり、鶴亀メールが死んでしま
ったりすると、その次の鶴亀メール起動時に必ず出ます。

 鶴亀メールの内部的なエラーというのは、DebugMessageという形で出てくると
思います。

 Windowsを正常終了しなかった場合も出ます。マクロの中身は関係ありません。

 特に頻繁に起きて迷惑でしたら、「全般的な設定・デバッグ」の「前回の鶴亀
メールが異常終了したかどうか毎回確認する」をOFFにすれば、もう確認メッ
セージも出ないと思います。

[ ]
RE:14414 起動時マクロの注意ダイアログNo.14422
まんぼう さん 03/09/05 07:05
 
>  特に頻繁に起きて迷惑でしたら、「全般的な設定・デバッグ」の「前回の鶴亀
> メールが異常終了したかどうか毎回確認する」をOFFにすれば、もう確認メッ
> セージも出ないと思います。

それは、ずっとオフでしたし、終了時に何かの異常は気付きません
でした。
???不思議です。

[TuruKame 3.02 / Win XP Home SP1]

[ ]
RE:14422 起動時マクロの注意ダイアログNo.14581
まんぼう さん 03/09/17 07:37
 
> >  特に頻繁に起きて迷惑でしたら、「全般的な設定・デバッグ」の「前回の鶴亀
> > メールが異常終了したかどうか毎回確認する」をOFFにすれば、もう確認メッ
> > セージも出ないと思います。

これは、相変わらずオフでしたが、確実に再現させる方法が見つか
りました。

・鶴亀を起動したまま(最小化も含む)、ログオフ・シャットダウ
  ン・再起動をする。

OSからのシャットダウン要求によるプロセスの終了は、鶴亀にと
っては異常終了なのでしょうか???

[TuruKame 3.06 / Win XP Home SP1]

[ ]
RE:14581 起動時マクロの注意ダイアログNo.14586
秀まるお2 さん 03/09/17 13:22
 
 こちらのWindows2000環境とWindowsXP Professional ServicePack1の環境でテ
ストした限りはうまく再現しませんでした。

 鶴亀メールを起動したままWindowsの再起動をして、その後鶴亀メールを起動
しても、普通に起動してマクロも普通に実行されるような気がします。

 マクロ実行の注意ダイアログボックスが出るということは、例えばウィンドウ
の座標/サイズなんかもレジストリに保存されてないんでしょうか。例えばウィ
ンドウを少し移動してからWindowsを再起動すると、その後鶴亀メールを起動し
ても、元の位置じゃなくて、移動する前の位置で出てきてしまうとか?。もしそ
ういうことなら、レジストリへの保存関係がまったく動作してないか、または鶴
亀メールとしてはちゃんとレジストリに保存しつつも、それが無視されてるって
ことになりますけど。

 あとあと、「全般的な設定・デバッグ」のdump.txtを作成する設定にしている
と、僕の所では、

13:08:35.647 (4292) WM_QUERYENDSESSION
13:08:35.647 (1153) DeleteIconOnTaskbar()
13:08:35.657 (8275) StopAutoDownTimer()

 のようなログが出てきます。これが出てくるならば、たしかにレジストリを正
しく書き込んでるはずなんですけど…。

 もしよろしければdump.txtを作成する設定にして試してみて欲しいです。

------------
 こちらでもなんとかソースコードを追っかけてみて、おかしくなる可能性があ
ったら修正してみます。

[ ]
RE:14586 起動時マクロの注意ダイアログNo.14588
秀まるお2 さん 03/09/17 18:58
 
 dump.txt送って頂きましたけど、WM_QUERYENDSESSIONの記録が出てませんでし
た。

 どうしてそうなるのか僕には分かりませんが、とりあえず他のWindowsXPマシ
ンを使うなどしてテストしてみます。シャットダウンの通知が何も届かないなら、
鶴亀メールとしては何もアクションしようがありませんので…。

----------------
 もしかして、何かWindowsを終了させる系のソフトを使って終了させたとか、
あるいは電源ボタンをいきなり押してシャットダウンさせたってことですか?

[ ]
RE:14588 起動時マクロの注意ダイアログNo.14590
まんぼう さん 03/09/18 07:08
 
>  dump.txt送って頂きましたけど、WM_QUERYENDSESSIONの記録が出てませんでし
> た。

dump.txtの先頭に、
17:15:44.695 (4292) WM_QUERYENDSESSION
17:15:44.695 (1153) DeleteIconOnTaskbar()
17:15:44.695 (4608) entered
 :
 
と出てましたけど、これだけではおかしいってことなんですね?
う〜ん。

>  もしかして、何かWindowsを終了させる系のソフトを使って終了させたとか、
> あるいは電源ボタンをいきなり押してシャットダウンさせたってことですか?

う〜ん。スタートメニューからログオフしただけなんですけど。
やっぱり、別件の「設定内容の保存をすると...」と同様に何か
私の環境特有のトラブルかって感じですかね?

[ ]
RE:14590 起動時マクロの注意ダイアログNo.14591
秀まるお2 さん 03/09/18 10:26
 
> と出てましたけど、これだけではおかしいってことなんですね?

 すみません。終了直前の所しか見てませんでしたが、たしかにそこにありまし
た。

 終了時にマクロ実行してるのが関係してるようです。その線で調べてみます。

[ ]
RE:14591 起動時マクロの注意ダイアログNo.14594
まんぼう さん 03/09/18 13:45
 
注意メッセージが出る場合と出ない場合のdump.txtを比較してみた
のですが、
自分で終了した場合は、

17:27:22.599 (4801) syscommand 61536
17:27:22.599 (4608) entered
17:27:22.599 (2031) CommandMacroSub 鶴亀終了.mac
17:27:22.609 (1422) TKINFO 70
 :
17:27:23.140 (1422) TKINFO 38
17:27:23.150 (4615) leave
17:27:23.150 (8275) StopAutoDownTimer()
17:27:23.340 (1153) DeleteIconOnTaskbar()
17:27:23.350 (1576) will Cleanup()
17:27:23.360 (1583) 終了

ですが、OSからシャットダウンされた場合は、

17:15:44.695 (4292) WM_QUERYENDSESSION
17:15:44.695 (1153) DeleteIconOnTaskbar()
17:15:44.695 (4608) entered
17:15:44.705 (2031) CommandMacroSub 鶴亀終了.mac
17:15:44.705 (1422) TKINFO 70
 :
17:15:45.156 (1422) TKINFO 38
17:15:45.166 (4615) leave
17:15:45.166 (8275) StopAutoDownTimer()

で終っちゃってます。
(:で省略したマクロ実行の部分は同じ内容が出てました)

さらに、終了時のマクロ実行を停止したところ、

13:20:56.832 (4292) WM_QUERYENDSESSION
13:20:56.842 (1153) DeleteIconOnTaskbar()
13:20:56.842 (8275) StopAutoDownTimer()

だけしか記録されませんが、次の起動時の注意メッセージは出なく
なりました。

「終了時のマクロ実行を指定 & OSからのシャットダウン要求で
終了」の場合に発生するような気がします。
これで現象が再現しないのであれば、終了時に実行しているマクロ
自体が犯人ですか?(必要なら内容を書き込みますので、おっしゃ
ってくださいませ)

以上、参考になりますでしょうか?

[TuruKame 3.06 / Win XP Home SP1]

[ ]
RE:14591 起動時マクロの注意ダイアログNo.14595
秀まるお2 さん 03/09/18 13:56
 
 終了時のマクロを使ってみましたがうまく再現できませんでした。

 どっちにしても、起動時マクロの注意ダイアログは出ないように修正します。
起動時マクロを実行している最中に鶴亀メールが死んだ場合に限って注意ダイア
ログが出るようにします。

[ ]
RE:14594 起動時マクロの注意ダイアログNo.14597
秀まるお2 さん 03/09/18 15:14
 
 WM_QUERYENDSESSIONをdump.txtに出してから、CommandMacroSubのログが出る
までの間に、レジストリのDead値に0を書き込んでるはずなんですけど、よく分
かりません。

 とにかく、次のバージョン(V3.07β1)にて直ると思います。よろしくお願い
します。

[ ]
RE:14597 起動時マクロの注意ダイアログNo.14609
まんぼう さん 03/09/19 11:09
 
もう対策を施していただいたようでなんですが...

レジストリで思い出しました。終了時のマクロで以下のようなレジ
ストリの操作をやってました。

    loaddll "tkinfo.dll";
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\
    Config";
    writeregnum "LeaveDialup", 3;
    closereg;
    #n = dllfunc("EnvChanged");

終了時のマクロでレジストリを操作することが影響して、最近私が
報告した、
・設定の保存をすると、「初めて鶴亀メールを使う場合...」が
  出てしまう現象。
・OSから終了された場合に起動時マクロの注意メッセージが出て
  しまう現象。
が発生したということはないでしょうか?
もしそうならば、また他の現象がいつかでるような気がしますし、
またまた原因不明となってお騒がせってなると申し訳ないので、一
応報告しておきます。

[ ]
RE:14609 起動時マクロの注意ダイアログNo.14610
アルビレオ さん 03/09/19 11:53
 
アルビレオです。

横からすみません。

>終了時のマクロでレジストリを操作することが影響して

レジストリの書き換えよりも、最後のEnvChangedが気になります。
EnvChangedはプログラムを終了させずに設定変更を反映させるためのものなので
シャットダウン時に呼び出しても意味がないし、そのような使い方は想定されて
いないために不具合が起こってしまったという可能性はないでしょうか?

[ ]
RE:14610 起動時マクロの注意ダイアログNo.14612
秀まるお2 さん 03/09/19 12:37
 
 たしかに、EnvChangedが呼ばれることが原因のようです。EnvChangedが呼ばれ
ると、レジストリのDead値が1になります。

 マクロ実行後にもう一度Dead値を0に書き込むようにします。

[ ]
RE:14612 起動時マクロの注意ダイアログNo.14624
まんぼう さん 03/09/19 20:08
 
やっぱり一連の事件の犯人は自分だったのですね。
でも原因が特定できたようでホッとしております。
お騒がせ致しました。

[ ]