刚开始接触DDE,照着论文上写了一段程序:现在vb中创建了一个子窗口,添加了一个text控件,生成了.exe文件,
之后又在其中添加了一个text控件,两个选择按钮和两个命令按钮,修改名称后,程序如下:
Const Automatic = 1
Const Manual = 2
Const None = 0Private Sub AutomaticLink_Click()
Request.Visible = False
Text1.LinkMode = None
Text1.LinkMode = Automatic
End SubPrivate Sub Form_Load()
 z% = Shell("Source", 1)
 z% = DoEvents()
 Text1.LinkMode = None
 
 Text1.LinkTopic = "Source|Form1"
 
 Text1.LinkItem = "Text1"
 Text1.LinkMode = Manual
  ManualLink.Value = True
 End SubPrivate Sub ManualLink_Click()
Request.Visible = True
Text1.LinkMode = None
Text1.LinkMode = Manual
End SubPrivate Sub Poke_Click()
Text1.LinkPoke
End SubPrivate Sub Request_Click()
Text1.LinkRequest
End Sub
运行时总是出现DDE初始化时无外部程序,
重新编写了另一个程序:
第一.创建一个工程,名称:Child,窗体名称:FrmChild,添加Text1
输入代码 
1. Option Explicit
2.
3. Private Sub Form_LinkExecute(CmdStr As String, Cancel As Integer)
4.     Text1.Text = CmdStr
5.     Cancel = 0
6. End Sub
复制代码
第二.创建新工程,名称:Main,窗体名称FrmMain,添加Text1
输入代码 
1. Option Explicit
2.
3. Private Sub Text1_Change()
4.     Dim t As Long
5.     
6.     Text1.LinkMode = 0
7.     Text1.LinkTopic = "Child|frmChild"
8.     Text1.LinkMode = 2
9.     Text1.LinkExecute Text1.Text
10.     
11.     t = Text1.LinkTimeout
12.     Text1.LinkTimeout = 1
13.     Text1.LinkMode = 0
14.     Text1.LinkTimeout = t
15. End Sub
运行时,在主窗口输入字符时同样出现[color=#FF00FF]DDE初始化时无外部程序

请问这是软件没装好,还是某些地方没注意,希望高手帮忙指教,谢谢了

解决方案 »

  1.   

    谢谢你的回复,但我运行时已让出现DDE初始化时屋外不应用程序响应,调试的话出现在
    Text1.LinkMode = 2,是不是我电脑上没装什么相关的程序呀
      

  2.   

    DDE是一种动态数据交换机制(Dynamic Data Exchange,DDE)。使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。 
      

  3.   

    我是做了两个windows应用程序呀,你给我提示的那个程序我也下载下来了,但是运行后,输入字符后立即出现DDE初始化时无外部应用程序响应
      

  4.   

    http://blog.csdn.net/chinaboyzyq/archive/2009/08/04/4406628.aspx
      

  5.   

    这里设置了 Text1.LinkTopic = "Child|frmChild"
    那么你需要另一个运行的对象,LinkTopic =frmChild ,名称为"Child"
      

  6.   

    那个资源是我的,你把server下的那个exe打开了吗?要先打开这个的