dllfunc( "MainWnd" )についてNo.05096
"M.OBARA" さん 01/05/24 18:06
 
 小原です。

 以下のマクロを「送信用のエディタ起動時」に登録している場合、常駐鶴
亀の「新規メール」を選択すると鶴亀の応答がなくなってしまうようです。
 どのバージョンからはちょっとわからないのですが、以前は大丈夫でした。

main:
    loaddll "TKInfo.dll";
    if( !result )
    {
        message "エラー";
        endmacro;
    }
    #main = dllfunc( "MainWnd" );
    if( #main )
    {
        $account = dllfuncstr( "CurrentAccount" );
        goto next:
    }
next:
    freedll;
endmacro;

 これ以上は絞り込めませんでした。

 常駐していて、鶴亀メール本体ウィンドウが見た目上存在しない時って
dllfunc( "MainWnd" )は使えなかったでしたでしょうか?

[ ]
RE:05096 dllfunc( "MainWnd" )についてNo.05097
ひろ さん 01/05/24 18:46
 
 M.OBARA さん今日は、ひろです。
>  常駐していて、鶴亀メール本体ウィンドウが見た目上存在しない時って
> dllfunc( "MainWnd" )は使えなかったでしたでしょうか?
 使えません。というか 0 が返ってくると思います。ただし常駐しているなら、
##main = dllfunc("MainWnd");
if(##main == 0){
  if(dllfunc("IsTrayIcon")){
    ##main = sendmessage(findwindowclass("TuruKameFrame"),0x0112, 0xF120, 0 );
    ##main = dllfunc("MainWnd");
  }
  else{
    message "本体が起動していないと、これ以上の追跡は出来ません。";
    goto next;//終了処理
  }
}
といった要領で対処できると思います。

[ ]
RE:05097 dllfunc( "MainWnd" )についてNo.05101
"M.OBARA" さん 01/05/24 20:46
 
 ひろさん、こんにちは。

> >  常駐していて、鶴亀メール本体ウィンドウが見た目上存在しない時って
> > dllfunc( "MainWnd" )は使えなかったでしたでしょうか?
>  使えません。というか 0 が返ってくると思います。ただし常駐しているなら、

 ありがとうございます。
 ひろさんのおっしゃる通り 0 が返ってきていました。マクロの修正が必
要でした。助かります。

 もう一つの疑問で、何故応答無しになってしまうか?ですが、ようやくわ
かりました。
 例えば、常駐していて、鶴亀メール本体ウィンドウが見た目上存在しない
時に下記マクロを実行してもメッセージが1つも表示されないのです。

main:
    loaddll "TKInfo.dll";
    if( !result )
    {
        message "エラー";
        endmacro;
    }
    #main = dllfunc( "MainWnd" );
    if( #main != 0 )
    {
        message "if( #main )に入った。";
        $account = dllfuncstr( "CurrentAccount" );
        goto next:
    }
    message "nextの前";
next:
    message "nextの後(freedllの前)";
    freedll;
    message "freedllの前";
endmacro;

 誤「goto next:」
 正「goto next;」

 でした。恥ずかしい。…でもこれってエラーにはならないのですね。
 お騒がせしました。

[ ]
RE:05101 dllfunc( "MainWnd" )についてNo.05105
ひろ さん 01/05/25 00:21
 
 M.OBARA さん今日は、ひろです。
>         goto next:
<中略>
>  誤「goto next:」
>  正「goto next;」
>
>  でした。恥ずかしい。…でもこれってエラーにはならないのですね。
 エラーにならないのは拙いと思うのですが、hidesoft.2 で聞いてみます。

[ ]