2011-02-07 28 views
1

我需要在Windows窗體與控制檯應用程序中註冊DDE服務器。我已經嘗試了Windows Form應用程序中各個點的註冊碼,但它似乎沒有註冊。我已經在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

太棒了!我已經實現了你的方向,它完美的工作。這都是基礎知識。謝謝! – 2011-02-07 16:30:42

相關問題