2011-02-07 1 views
1

Windows 응용 프로그램과 콘솔 응용 프로그램에 DDE 서버를 등록해야합니다. Windows Form 응용 프로그램의 다양한 지점에서 등록 코드를 시도했지만 등록하지 않는 것 같습니다. 나는 frmMain과 Program.cs Main()에서 시도했다.Windows Forms 응용 프로그램과 콘솔 응용 프로그램에 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() 호출 후 서버는 즉시 폐기됩니다. 실제로로드 이벤트가 실행될 때까지 여전히 살아있을 가능성이 거의 없습니다.

서버 변수를 양식 클래스의 필드로 변경하십시오. 양식이 닫힐 때까지 처리하지 마십시오. OnFormClosed() 메서드 재정의 또는 FormClosed 이벤트 처리기에서 처리하십시오.

+0

환상적! 나는 당신의 방향을 구현했고 완벽하게 작동합니다. 기본에 관한 것입니다. 감사! –