マクロで落ちるNo.05601
ひろ さん 01/08/24 17:37
 
 秀まるおさん今日は、ひろです。
 送信用エディタウィンドで、
##main = hidemaruhandle(0);
loaddll "tkinfo.dll";
#tmp = dllfunc("AdrBook");
##sub = hidemaruhandle(0);
if(##main != ##sub){
  $$to = dllfuncstr("CurrentHeader","To");
  setactivehidemaru ##main;
  disabledraw;
  closehidemaru ##sub;
  if(!dllfunc("SetHeader","To",$$to))goto DllError;
}
freedll;
というマクロを実行すると、100% では有りませんが、90% ほどの確立で落
ちます。またマクロ自体は最後まで処理、完全に固まっているわけではなく、
Windows のエラーメッセージのダイアログを表示したままにしておけば、メー
ルの保存や送受信がそのまま出来ます。

 dump.txt にエラーの出力がないので、Windows の詳細メッセージと、直
前までの dump.txt の内容を末尾に記載します。
 最後に、こちらの環境は、Windows98+IE5.5+鶴亀 Ver.1.33 です。
---------------------------------------------------------------------
TURUKAME のページ違反です。
モジュール : HIDECTL2.DLL、アドレス : 0167:01672e07  RECORD.CPP(5722) 51e07
Registers:
EAX=016eb5ca CS=0167 EIP=01672e07 EFLGS=00010202
EBX=00000000 SS=016f ESP=07fcfcf4 EBP=07fcfd44
ECX=016eb5ca DS=016f ESI=016eb5ca FS=2aaf
EDX=bffc9490 ES=016f EDI=0070f844 GS=0000
Bytes at CS:EIP:
8b 08 ba 98 b2 69 01 8b 49 04 03 c8 e8 e3 97 fe
Stack dump:
0164e823 0070f844 0070f844 00000000 bff7b77b bff74277 bffc9490        2d823
bff7b796 bffc9490 bff713e2 00000167 bff742f2 000174c4 000174c4
bff74277 00000001

17:31:37.410 (3325) エディタコマンド: 173
17:31:38.510 (3325) エディタコマンド: 40069
17:31:38.510 (4618) DialogBox2Param() template=240
17:31:39.770 (7537) ThreadFunc: HmCreate
17:31:39.770 (2611) call WinMainSub
17:31:39.770 (2611) FrameWndProc: WM_CREATE
17:31:39.770 (2611) ClientWndProc: WM_CREATE
17:31:39.830 (2611) return WinMainSub
17:31:39.830 (7539) HmCreate return
17:31:39.940 (4620) DialogBox2Param() exit
17:31:39.990 (4604) DialogBox2() template=285
17:31:40.050 (5203) ProcessFrameClose()
17:31:40.050 (5241) DestroyWindowします
17:31:40.050 (2392) WM_DESTROY
17:31:40.050 (2399) ImeをOFFにしました
17:31:40.050 (6556) DeleteAttachFile(): deleting current attach list
17:31:40.050 (2406) delete pHidemaru
17:31:40.050 (5243) DestroyWindowしました
17:31:40.050 (4606) DialogBox2() exit

[ ]
RE:05601 マクロで落ちるNo.05617
秀まるお さん 01/08/27 16:36
 
 いろいろテストした所、エディタ起動時のマクロが登録してあると死ぬよう
です。

 この場合はエディタ起動時用のマクロを実行しないように修正すると同時に、
マクロ実行できないメッセージも表示することにします。

[ ]
RE:05617 マクロで落ちるNo.05619
ひろ さん 01/08/27 16:45
 
 秀まるおさん今日は、ひろです。
>  この場合はエディタ起動時用のマクロを実行しないように修正すると同時に、
> マクロ実行できないメッセージも表示することにします。

> ##main = hidemaruhandle(0);
> loaddll "tkinfo.dll";
> #tmp = dllfunc("AdrBook");
> ##sub = hidemaruhandle(0);
> if(##main != ##sub){
>   $$to = dllfuncstr("CurrentHeader","To");
>   setactivehidemaru ##main;
>   disabledraw;
>   closehidemaru ##sub;
>   if(!dllfunc("SetHeader","To",$$to))goto DllError;
> }
> freedll;
の内、if(##main != ##sub) のブロック内を不可能にしていただくのは一向
に構いません。AdrBook が使え無くなるわけではないですよね。

[ ]
RE:05619 マクロで落ちるNo.05621
秀まるお さん 01/08/27 17:03
 
> の内、if(##main != ##sub) のブロック内を不可能にしていただくのは一向
> に構いません。

 そっちは有効です。そもそもマクロを鶴亀側で強制的に中断させることは困
難です。

 「送信用のエディタ起動時」に登録された側のマクロを実行しない作りにし
ます。

[ ]
RE:05621 マクロで落ちるNo.05628
ひろ さん 01/08/27 18:06
 
 秀まるおさん今日は、ひろです。
>  「送信用のエディタ起動時」に登録された側のマクロを実行しない作りにし
 早速の回答有り難うございました。それではよろしくお願いします。

[ ]