DDEをサーバーとして使用するための小さなコード例を入手できますか?クライアント部分の使用方法は知っていますが、サーバーとして機能してデータを受信するようにアプリを設定することができません。
2 に答える
DDE サーバーを使用するのはとても簡単なので、サンプル コードさえ必要ありません。これは、Delphi フォーム デザイナ内で設計時に行うことができます。
データを送信するサーバーを作成するには:
- フォームまたはデータ モジュールに TDDEServerConv および TDDEServerItem をドロップします。
- サーバー アイテムをサーバー カンバセーションに接続します (オブジェクト インスペクターを使用して DDEServerItem1.ServerConv=DdeServerConv1 を設定します。ドロップダウン リストがありますが、ダブルクリックするだけで十分です)。
- DDEServerItem.Text 値を有効なテキスト値 (つまり、「A」) に設定します。
データを受信するには、サーバーにデータを渡す DDE クライアントによって実行されるマクロが必要になる場合があります。これには、DdeServerConv.OnExecuteMacro イベントを使用します。次のように、パラメーター Msg:TStrings をメモにダンプしてみてください。
Memo1.Lines.Assign(Msg);
プロジェクトを保存して実行します。
Excel でテストするには、次のように入力します。
=Project1|DdeServerConv1!DdeServerItem1
Excel dde クライアントの構文部分は、アプリケーション名の後に垂直バー、会話名、感嘆符、アイテム名の順に続きます。
そして、値 (A、またはアイテムの Text プロパティに入力したもの) が Excel に表示されます。
これは、コードを記述しなくても動作する単一項目 DDE サーバーです。
私は一般的に、会話とアイテムを設計時ではなく実行時に作成し、より便利な現実世界のシナリオで作成しています。
古い(Unicode ではない)Delphi バージョンには、DDE 作業に大いに役立つ Django と呼ばれるフル機能の商用製品もあります。
Delphi 側で「DDE Poke」コマンド ハンドラを作成する方法についての情報も探していると思います。そのためのデモはありません。私はそれを試してみましたが、明らかにうまくいきました (サーバー上のアイテムには OnPoke イベントがあり、PokeData という単純なクライアントを作成しましたが、うまくいきませんでした)。
Delphi のインストールで、DDEDemo というフォルダを探します。これは、Delphi が同梱するために使用する DDE プロジェクトです (まだ含まれているかどうかは 100% わかりませんが、見てみてください)。デモには、DDE クライアントとサーバーが含まれています。
編集 -コード例については、このリンクを試してください。