7.3.5 控制服务器应用程序的执行
客户程序控制服务器应用程序的一个方面是:必要的时候客户程序可以启动服务器程序,并装载会话主题。
而客户程序控制服务器应用程序更重要的一点是向服务器发送服务器承认的宏命令,来完成对服务器应用程序的各种操作。服务器到底支持哪些宏命令,可参阅服务器应用程序文档。
发送宏命令要使用DDEClientConv的两个方法 ExecuteMacro和ExecuteMacroLines ,它们的语法如下:
function ExecuteMacro(Cmd: PChar; WaitFlag: Boolean): Boolean;
function ExecuteMacroLines(Cmd: TStrings;WaitFlag: Boolean): Boolean;
Cmd是欲发送的宏命令字符串或宏命令字符串链表。WaitFlag决定了在DDE 服务器程序执行宏命令时客户程序的行为。如果WaitFlag设置为True,则在服务器宏命令执行完毕前,不允许对ExecuteMacro、ExecuteMacroLines、PokeData、PokeDataLines这些方法的成功调用,它们都不向服务器发送数据并返回False。如果WaitFlag设置为False,则调用的方法在第一个宏执行完毕前即试图向服务器发送数据。
WaitFalg的设置也取决于服务器应用程序。一些应用程序当在第一个宏执行完之前就试图向它发送数据或命令时,可能导致第一个宏执行失败或导致不可预料的后果。具体情况可查阅服务器应用程序文档。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)函数返回值表示命令串是否被成功传输。而宏命令执行是否成功客户是无法检测到的。
7.3.6 格式化文本
DDEClientConv有一个布尔属性FormartChars,用于决定是否格式化文本。所谓格式化文本是指从传输来的文本数据中过滤掉BackSpace(8)、 Tab(7) 、Linefeed(10) 、Return(13)等字符。括号内是字符的ASCII码。许多时候这些字符将导致DDE客户数据显示的混乱。
FormatChars的缺省值是False。
7.3.7 响应DDE事件
部件DDEClientConv有两个事件OnOpen和OnClose,分别在DDE 会话建立和中止时触发。部件DDEClientItem有一个OnChange事件。这一事件常用于DDE项目数据的转储和显示,如(7.3.1)节所示。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)在自动模式下,OnOpen事件在包含DDEClientConv部件的窗口创建时触发,或在调用SetLink方法时触发,OnClose事件在客户程序或服务器程序关闭时触发。
在人工模式下,OnOpen事件在调用OpenLink 方法时触发,<