2009年6月11日木曜日

VB6 DDE通信

二つのプログラムのフォーム上に貼り付けたTextBoxコントロールの値をDDE通信を使って通信させます。
■DDE通信のサーバー
①新規プロジェクトを作成
プロジェクト名 : Project1
②フォーム上にTextBoxコントロールを貼り付ける
オブジェクト名 : Text1

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

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

■DDE通信のクライアント
①新規プロジェクトを作成
プロジェクト名 : Project2
②フォーム上にTextBoxコントロールを貼り付ける
オブジェクト名 : Text1
③フォームロードに以下のプログラムを追加
Private Sub Form_Load()
 '各種設定
 Text1.LinkTopic = "Project1IdentString"
 Text1.LinkItem = "Text1"
 'DDE通信の開始
 Text1.LinkMode = 1
End Sub
④以上にて実行ファイルを作成します
実行ファイル名 : Project2.exe

■実行
サーバープログラム(Project1.exe)を実行させます。
クライアントプログラム(Project2.exe)を実行させます。
サーバープログラムのTextBoxにテキストを入力すると、
自動的にクライアントプログラムに反映されます。
■手動でDDEサーバーから値を取得する
①新規プロジェクトを作成
プロジェクト名 : Project2
②フォーム上にTextBox CommandButton コントロールを貼り付け
るオブジェクト名 : Text1
     : Command1
③ボタンのイベントに以下のプログラムを追加
Private Sub Command1_Click()
 Text1.LinkTopic = "Project1IdentString"
 Text1.LinkItem = "Text1"
 Text1.LinkMode = vbLinkManual
 Text1.LinkRequest
 Text1.LinkMode = vbLinkNone
End Sub
④実行させてボタンを押すと値が更新されます

0 件のコメント:

コメントを投稿