全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1730
推到 Plurk!
推到 Facebook!

解題範例-Automation Client & Server(含Source code for D6)

 
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-18 20:41:17 IP:211.76.xxx.xxx 訂閱
相關問題
http://delphi.ktop.com.tw/board.php?cid=30&fid=70&tid=69663

看到這個問題,讓我想到以前做的測試程式,所以
花了點時間重做一個範例程式與大家分享.

以下簡單說明:
主旨: Automation Server & Client (含 Source Code for D6)
說明:
(一)專案結構

README.TXT(這個檔案)
Project Group: prgTEST_005.bpg
Server Project: \ServerA\*.*
Client Project: \ClientA\*.*


(二)執行方式

請先執行一次 ServerA.EXE, 以登錄主機,
然後可執行多份 ClientA.EXE 與 主機 ServerA 連線


(三)ServerA.EXE 與 ClientA.EXE 之間互動說明

(1)ServerA主畫面上有5個TEdit, 然後開放介面讓ClientA.EXE
來存取其 TEdit.Text 屬性.

(2)介面Function有:
function GetTexts(Index: Integer): WideString [dispid $00000001]; safecall;
procedure SetTexts(Index: Integer; Value: WideString) [dispid $00000002]; safecall;
function GetConnectionCount: Integer [dispid $00000003]; safecall;
(3)目前ClientA.EXE 只用到 GetTexts().

(四)ServerA.EXE 另外提供 兩個 Event

(1)主動將 ServerA.EXE 的系統時間送到所有與其連線之ClientA.EXE.
(2)在 某個 TEdit.Text 屬性被改變時, 主動通知所有與其連線之ClientA.EXE.

(五)ClientA.EXE 的動作

(1)Form Caption 為動態產生之 Client ID.
(2)以Timer 每秒隨機叫用 SetTexts(), 將 [ClientID 亂數值] 送到 ServerA.EXE
改變某個 TEdit.Text, 並引發ServerA.EXE 之 TTextChange 事件, 通知所有與其
連線的 ClientA.EXE.

(3)ClientA.EXE 顯示的時間是 ServerA.EXE 傳送的.

編輯記錄
jow 重新編輯於 2007-11-13 00:37:29, 註解 無‧
系統時間:2024-12-04 1:17:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!