我需要在Windows窗体中注册DDE服务器,而不是在控制台应用程序中。我已经在Windows窗体应用程序中的不同位置尝试了注册码,但它似乎没有注册。我在frmMain和Program.cs Main()中尝试过。
当我尝试连接到DDE Server时,我得到了标准的can't connect消息:"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);
}
}
}发布于 2011-02-07 23:01:00
在这里,您没有适当地使用using关键字。在Register()调用之后,服务器将立即被释放。这确实使得它在Load事件运行时仍然存活的可能性很小。
使服务器变量成为窗体类中的字段。在窗体关闭之前不要处理它,请在OnFormClosed()方法重写或FormClosed事件处理程序中执行此操作。
https://stackoverflow.com/questions/4922472
复制相似问题