ddeinitiateNo.03769
ひろ さん 01/02/03 19:16
 
 秀まるおさん今日は、ひろです。
 鶴亀のバグかどうか判断しかねるのですが、秀丸のマクロで問題なく動作
しているマクロを鶴亀で実行すると、ddeinitiate で失敗することが頻繁に
有ります。必ず失敗するわけでは有りませんが、一度失敗するとそのあと続
けて失敗するようになります。

 何か解決の糸口があるわけでは有りませんが、取り敢えずご報告までに。

[ ]
RE:03769 ddeinitiateNo.03770
きいろいまふらあ さん 01/02/04 11:10
 
ありゃ?ひろさんらしからぬ……。(^^;

> 鶴亀のバグかどうか判断しかねるのですが、秀丸のマクロで問題なく動作
>しているマクロを鶴亀で実行すると、ddeinitiate で失敗することが頻繁に
>有ります。必ず失敗するわけでは有りませんが、一度失敗するとそのあと続
>けて失敗するようになります。

> 何か解決の糸口があるわけでは有りませんが、取り敢えずご報告までに。

一つでも例があれば解決の糸口になるかも。

[ ]
RE:03770 ddeinitiateNo.03771
ひろ さん 01/02/04 15:19
 
 きいろいまふらあさん今日は、ひろです。
> 一つでも例があれば解決の糸口になるかも。

> >秀丸のマクロで問題なく動作
> >しているマクロ
のなので、例がなくてもまあ良いかと思いましたが、やっぱり有った方がよ
いですよね(^^;。
>   if(findwindowclass("PDICW")==0){
>     call search_path;
>     ##handle=hidemaruhandle(0);
>     run $$return;
>     setactivehidemaru ##handle;
>   }ddeinitiate "PDICW","PDIC";
>   if(!result){
>     beep;
>     message "DDE リンク失敗です。";
>     ddeterminate;
>     goto ENDING;
>   }
という流れのマクロです。鶴亀でもプログラムの起動までは問題ないし、
100% の再現性があるわけではないので、謎です。

[ ]
RE:03769 ddeinitiateNo.03791
秀まるお さん 01/02/05 16:01
 
>  鶴亀のバグかどうか判断しかねるのですが、秀丸のマクロで問題なく動作
> しているマクロを鶴亀で実行すると、ddeinitiate で失敗することが頻繁に
> 有ります。必ず失敗するわけでは有りませんが、一度失敗するとそのあと続
> けて失敗するようになります。

 dde関係は一切テストしてなかったので、うまく動いている方が不思議かもしれな
いです。今からテストしてみます。

[ ]
RE:03791 ddeinitiateNo.03796
ひろ さん 01/02/05 17:46
 
 秀まるおさん今日は、ひろです。
>  dde関係は一切テストしてなかったので、
 あらそうなんですか(^^)。
> いです。今からテストしてみます。
 何か具体的な原因が分かれば、改めて投稿しますが、よろしくお願いします。

 P.S 今回のことには関係ないとは思いますが、#3771 のサンプルマクロは、
    call search_path;
    ##handle=hidemaruhandle(0);
    run $$return;
ではなく、
    ##handle=hidemaruhandle(0);
    call search_path;
    run $$return;
とすべきですね(^^;。

[ ]
RE:03771 ddeinitiateNo.03797
秀まるお さん 01/02/05 17:52
 
 dde関係は昔一度テストしてうまく動くようになったような気がします。手元の鶴
亀で自前のmacserv.exeを使って簡単なテストをした限りもうまく動いています。

 で、問題のPDICW(Personal Dictionaryとかいうシェアウェアのソフト?)での件
ですけど、もしかしたら、ここがおかしいかもしれないです。

>   if(findwindowclass("PDICW")==0){
>     call search_path;
>     ##handle=hidemaruhandle(0);
>     run $$return;
>     setactivehidemaru ##handle;

 run文はプロセス起動の指示だけしてすぐに復帰してしまうので、その後
ddeinitiateしてもまだPDICW側の準備が整ってないかもしれないです。

 runsync2文にしてみると直るかもしれないです。

 それでもダメなら、ddeに失敗した理由が分かるようにするためのデバッグ用の処
理を追加するしかなさそうです。

[ ]
RE:03797 ddeinitiateNo.03803
ひろ さん 01/02/05 19:04
 
 秀まるおさん今日は、ひろです。
>  runsync2文にしてみると直るかもしれないです。
 取り敢えず runsync2 にしますが、これだけが原因とは考えられません。
何故かというと、この場合既に PDICW が起動している場合でも、
ddeinitiate に失敗することがあるからです。

 というわけで、
>  それでもダメなら、ddeに失敗した理由が分かるようにするためのデバッグ用の処
> 理を追加するしかなさそうです。
こちらを検討頂けないでしょうか?

[ ]
RE:03803 ddeinitiateNo.03807
秀まるお さん 01/02/06 09:13
 
 んではデバッグ用の処理(というか、dump.txtへの出力)を追加してみます。

[ ]
RE:03807 ddeinitiateNo.03810
ひろ さん 01/02/06 12:10
 
 秀まるおさん今日は、ひろです。
>  んではデバッグ用の処理(というか、dump.txtへの出力)を追加してみます。
 よろしくお願いします。

[ ]
RE:03797 ddeinitiateNo.03821
ひろ さん 01/02/06 18:32
 
 秀まるおさん今日は、ひろです。
 デバッグ用のルーチンを加えて頂けるとのことなので、動でも良いことですが、
>  runsync2文にしてみると直るかもしれないです。
runsync2 では、起動したアプリケーションが終了までマクロ待機してしま
うので、駄目ですね。

[ ]
RE:03821 ddeinitiateNo.03822
秀まるお さん 01/02/06 18:40
 
> runsync2 では、起動したアプリケーションが終了までマクロ待機してしま
> うので、駄目ですね。

 あらら、そりゃそうだ。失礼しました。

[ ]