[#44909] VRDdeClientについて — Toshiyasu Soejima <clev@...2.so-net.ne.jp>

17 messages 2008/05/11

[#44936] yamlとencoding — "Yutaka Kanemoto" <kinpoco@...>

金本と申します。

16 messages 2008/05/14

[ruby-list:44911] Re: VRDdeClientについて

From: yukimi_sake <yukimi_sake@...>
Date: 2008-05-11 13:10:48 UTC
List: ruby-list #44911
こんにちは、雪見酒です。

>VRDdeClient 関係を検索していたのですが、Formを使うサンプル
>はあったのですが、単純に取得したデータを標準出力に出すとか
>変数に格納するにはどうすればいいのでしょうか?

>VB6.0などでも、標準出力に出す方法が無さそうだったので、もしか
>したら無いのかなー?と途方にくれています。

 Windowsのメッセージというのがどういうものか分かっていないと、
 ちょっと難しいと思いますが、説明しておきます。

 DDEというのは他のウインドウアプリケーションとデータ交換するた
 めの一方法で、交換にはWindowsのメッセージを使用します。
 例えばクライアントがサーバーにデータを要求する場合はごくざっと、

 初期化する
 WM_DDE_REQUESTメッセージと自分のウインドウハンドルをDDEサーバーに送る
 WM_DDE_DATAがDDEサーバーから自分に送られてくるのを待つ。
 WM_DDE_DATAを受け取ったら引数からデータを取り出す
 後始末をする

 という手順になります。このときに、自分のウインドウハンドルと、メッセ
 ージを受け取って処理する機構(メッセージループ)がクライアントに必要で
 す。

 このメッセージループを受けるウインドウがVBやVRubyで言うところのフォ
 ームということです。つまり、フォーム内のパッケージ化されたメッセージ
 処理機構を利用していますから、VBでもVRubyでもフォームを介さずにDDEを
 利用することはできないわけです。
 フォームの存在を許してよいなら、それを最小化するとかタスクトレーに入
 れてしまうとかしておいて、そこからコンソールにprintしたり、変数に格
 納したりしたらいかがでしょう?
 タスクトレーに入れるサンプルもVisualuRuby計画のHPから参照することがで
 きます。


In This Thread