From: yukimi_sake Date: 2008-05-11T22:10:48+09:00 Subject: [ruby-list:44911] Re: VRDdeClientについて こんにちは、雪見酒です。 >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から参照することがで きます。