客戶端控制服務端兩大面向:① 必要時啟動服務端並裝載會話主題;② 發送服務端認可的宏命令完成各種操作。宏命令參考服務端文檔。
function ExecuteMacro(Cmd: PChar; WaitFlag: Boolean): Boolean;
function ExecuteMacroLines(Cmd: TStrings; WaitFlag: Boolean): Boolean;
Cmd:宏命令字符串或字符串鏈表WaitFlag:決定客戶端行為
True:服務端宏執行完畢前,阻塞後續 ExecuteMacro/PokeData 等調用(返回 False)False:首個宏執行完畢前即嘗試發送數據WaitFlag 設置取決於服務端應用程序,部份應用在首個宏未完成前接收數據會導致失敗或不可預料後果。返回值僅表示命令傳輸成功與否,宏執行成敗客戶端無法檢測。
DDEClientConv.FormatChars(Boolean)決定是否過濾控制字符:BackSpace(8)、Tab(9)、Linefeed(10)、Return(13)。默認 False。啟用可避免數據顯示混亂。
DDEClientConv 兩事件:OnOpen、OnClose;DDEClientItem 一事件:OnChange(常用於數據轉儲顯示,見 7.3.1)。
| 模式 | OnOpen 觸發時機 | OnClose 觸發時機 |
|---|---|---|
| 自動模式 | 包含組件的窗口創建時、或調用 SetLink 時 | 客戶端或服務端關閉時 |
| 手動模式 | 調用 OpenLink 時 | 調用 CloseLink 時 |