○VB6 DDE通信

二つのプログラムのフォーム上に貼り付けたTextBoxコントロールの値をDDE通信を使って通信させます。

■DDE通信のサーバー
@新規プロジェクトを作成
プロジェクト名  :  Project1
Aフォーム上にTextBoxコントロールを貼り付ける
オブジェクト名  :  Text1

B通信するフォームのプロパティにて以下の様に設定
LinkTopic  :    IdentString  ←DDE通信時の識別子、重複しないユニークな名前をつける
LinkMode   :    1             ←DDE通信をアクティブに設定

C以上にて実行ファイルを作成します
実行ファイル名 : Project1.exe

■DDE通信のクライアント

@新規プロジェクトを作成
プロジェクト名  :  Project2
Aフォーム上にTextBoxコントロールを貼り付ける
オブジェクト名  :  Text1

Bフォームロードに以下のプログラムを追加

Private Sub Form_Load()
    '各種設定
    Text1.LinkTopic = "Project1|IdentString"
    Text1.LinkItem = "Text1"

    'DDE通信の開始
    Text1.LinkMode = 1
End Sub

C以上にて実行ファイルを作成します
実行ファイル名 : Project2.exe

■実行

サーバープログラム(Project1.exe)を実行させます。
クライアントプログラム(Project2.exe)を実行させます。
サーバープログラムのTextBoxにテキストを入力すると、自動的にクライアントプログラムに反映されます。

■手動でDDEサーバーから値を取得する

@新規プロジェクトを作成
プロジェクト名  :  Project2
Aフォーム上にTextBox CommandButton コントロールを貼り付ける
オブジェクト名  :  Text1
               :  Command1

Bボタンのイベントに以下のプログラムを追加

Private Sub Command1_Click()
    Text1.LinkTopic = "Project1|IdentString"
    Text1.LinkItem = "Text1"
    Text1.LinkMode = vbLinkManual
    Text1.LinkRequest
    Text1.LinkMode = vbLinkNone
End Sub

C実行させてボタンを押すと値が更新されます。



▲トップページ > Visual BASIC と C#