2011-02-07 11 views
1

DDEサーバーをWindowsフォームとコンソールアプリケーションに登録する必要があります。私は、Windowsフォームアプリケーションのさまざまなポイントで登録コードを試しましたが、登録されていないようです。私はfrmMainとProgram.cs Main()で試してみました。WindowsフォームアプリケーションとコンソールアプリケーションのDDEサーバーの登録

DDEサーバーに接続しようとすると、標準接続できませんというメッセージが表示されます: "MainForm_Load:クライアントが" CRMIntegrator | myservice "に接続できませんでしたサーバーアプリケーションが実行中で、名前とトピック名のペア。 "あなたが適切にここ使用キーワードを使用していない

public partial class frmMain : Form 
    { 
     public frmMain() 
     { 
      InitializeComponent(); 
      try 
      { 
       // Create a server that will register the service name 'myapp'. 
       using (DdeServer server = new MyServer("CRMIntegrator")) 
       { 
        // Register the service name. 
        server.Register(); 
       } 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 
     } 
    } 

答えて

2

は、ここに私の登録コードです。 Register()呼び出しの後、サーバーはすぐに破棄されます。実際には、Loadイベントが実行されるまでにまだ生き残ることはほとんどありません。

サーバーをフォームクラスのフィールドに変更します。フォームが閉じられるまで処理しないでください。OnFormClosed()メソッドのオーバーライドまたはFormClosedイベントハンドラーで行います。

+0

素晴らしい!私はあなたの方向を実装し、それは完全に動作します。それはすべての基本についてです。ありがとう! –

関連する問題