下面的示例创建一个名为 myserver 的示例服务器,该服务器支持在客户应用程序中执行 visual foxpro 命令。客户应用程序通过 do 主题向 myserver 发送请求,并用宏替换执行客户命令。
*** 将 visual foxpro 设置为一个 dde 服务器 ***
= ddesetservice('myserver', 'define')
= ddesetservice('myserver', 'execute', .t.)
= ddesettopic('myserver', 'do', 'dotopic')
wait window 'server portion service setup ... ' nowait
*** 使用 visual foxpro 作为一个 dde 客户 ***
gnchannel = ddeinitiate('myserver','do')
=ddeexecute(gnchannel, 'wait window "command executed ... "')
=ddeterminate(gnchannel)
procedure dotopic
parameters gnchannel, gcaction, gcitem, gdata, gcformat, gnadvise
glresult = .f.
*** 有必要从一个 initate 行为返回“真”(.t.),否则不建立任何连接。***
if gcaction = 'initiate'
glresult = .t.
endif
if gcaction = 'execute'
&gdata
glresult = .t.
endif
if gcaction = 'terminate'
wait window 'goodbye ... ' nowait
glresult = .t.
endif
return glresult
* 运行这个示例程序后,您已经建立了其他应用程序可以访问的 visual foxpro 服务。如果安装了 microsoft excel,可以运行下列 excel 宏:
gnmychan = initiate("myserver,"do")
=execute(mychan,"wait window 'hi, this is excel speaking'")
=return( )