DDEクライアントCOMコンポーネントのAPI

以下は開発者向けの情報です。

■オブジェクトの生成方法

ProgIDは「KNDDDEML.DDEClient」である。よってたとえばVBScriptで生成する場合は以下のようにする。

Dim ddeclient
Set ddeclient = WScript.CreateObject("KNDDDEML.DDEClient")

■メソッド

C/C++で呼び出す場合メソッドの戻り値はすべてHRESULTである。以下はVisual Basic 6での記法である。

  1. Initialize
    DDEML(Dynamic Data Exchange Management Library)にアプリケーションを登録する。以下の関数を実行する前に必ずこの関数を呼び出さなければならない。
  2. Terminate
    呼び出し側アプリケーションに関連付けられたすべてのDDEML資源を解放する。
  3. Connect(ByVal service As String, ByVal topic As String)
    第1引数でサービス名を、第2引数でトピック名を渡し、この組み合わせをサポートするサーバーアプリケーションとの対話を確立する。
  4. Disconnect()
    Connect関数で開始した対話を終了する。
  5. Execute(ByVal command As String, ByVal timeout As Long)
    コマンドを実行する。第2引数はミリ秒で指定するタイムアウト値である。
  6. Request(ByVal item As String, ByVal timeout As Long) As String
    Requestメッセージを送信し、その結果を返す。
  7. Poke(ByVal item As String, ByVal value As String, ByVal timeout As Long)
    Pokeメッセージを送信する。

■VBScriptでの使用例

On Error Resume Next
Set client = WScript.CreateObject("KNDDDEML.DDEClient")
If Not (client Is Nothing) then
  client.Initialize
  If Err.Number = 0 Then
    Call client.Connect("SomeService", "SomeTopic") 
    'サービス名とトピック名は適当なものを入れる
    If Err.Number = 0 Then
      Call client.Execute("[DoSomething]", 0) 
    'コマンドには処理に応じた適切なテキストを渡す
      If Err.Number<> 0 Then
        MsgBox "Execute failed. Error=" & Err.Number
      End if
    Else
      MsgBox "Connection failed. Error=" & Err.Number
    End if
    client.Terminate
  End if
End if

■.NET Frameworkでの使用例 (C#を使用した場合)

using Kanadea.DDEML;
...
	try
	{
		CDDEClientClass client = new CDDEClientClass();
		client.Initialize();
		client.Connect("SomeService", "SomeTopic");//サービス名とトピック名は適当なものを入れる
		String result = client.Request("Some Text", 0);
		client.Terminate();
		System.Diagnostics.Trace.WriteLine(result);//出力ウインドウへ書き出す
	}
	catch(Exception e){
	   
	}

戻る