日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

主题:的中间层框架 第一节

發布時間:2023/12/10 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 主题:的中间层框架 第一节 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主題:<插件式>的中間層框架
時間:2004-12-31 15:00
主講:D10.天地弦

2004-12-31 14:56:15 /:>D10.天地弦(185511468)
開始吧,我們?

2004-12-31 14:57:22 /:>D10.天地弦(185511468)
請大家先看圖
http://www.jqk.net.cn/dkFrameworkWeb/dkFramework_files/dkFramework_frames.htm
用IE打開
昨天發現用QQ的不行

<圖一>框架運作圖


2004-12-31 15:04:49 /:>D10.天地弦(185511468)
上面就是中間層的框架運作圖

2004-12-31 15:07:10 /:>D10.天地弦(185511468)
然后打開客戶端代碼

2004-12-31 15:09:21 /:>D10.天地弦(185511468)
看看客戶端的代碼

2004-12-31 15:09:38 A1.Aleyn.wu(45198124)
http://www.e-midas.cn/eds/dk.rar
?

2004-12-31 15:10:02 A1.Aleyn.wu(45198124)
D10的框架圖,大家下載來用IE看就可以了。

2004-12-31 15:10:05 /:>D10.天地弦(185511468)
好的,大家把老大那個down一下

2004-12-31 15:10:29 /:>D10.天地弦(185511468)
里面解壓出來,是web頁面,大家在本機上看

2004-12-31 15:11:43 /:>D10.天地弦(185511468)
好了,我們按照從中間層獲取帳套來講講



?

<圖二>?從中間層獲取一個帳套數據



2004-12-31 15:12:14 /:>D10.天地弦(185511468)
大家有沒有看到
procedure TFMainForm.BtnGetAccountClick(Sender: TObject);
var
? vData, Msg: OleVariant;
begin
? inherited;
? AddParamToData(vData, 'Type', amtGet);

? if CLDataModule.SocketConnection.AppServer.ProcessData(miAccountMgr, aiAccountMgr, vData, Msg) then
? begin
??? CdsAccount.Data := vData;
??? CdsAccount.Active := true;
? end; //
end;

2004-12-31 15:12:24 /:>D10.天地弦(185511468)
這一段

2004-12-31 15:12:40 /:>D10.天地弦(185511468)
是獲取帳套按鈕的事件代碼

2004-12-31 15:13:24 /:>D10.天地弦(185511468)
ProcessData這個函數是中間層提供的接口

2004-12-31 15:13:25 D3天之痕若虹(86278566)
調用Server端的ProcessData過程

2004-12-31 15:13:43 /:>D10.天地弦(185511468)
是調用Server端的ProcessData

2004-12-31 15:14:06 /:>D10.天地弦(185511468)
再請大家打開一個Delphi打開Middlelayer.png

2004-12-31 15:14:25 /:>D10.天地弦(185511468)
\MiddleLayer\MiddleLayer.bpg

2004-12-31 15:15:07 /:>D10.天地弦(185511468)
如果可以看到web的看看Data數據流程圖




<圖三>參數Data流向圖



2004-12-31 15:16:10 /:>D10.天地弦(185511468)
Data里面客戶端是放參數的

2004-12-31 15:16:29 /:>D10.天地弦(185511468)
到模塊里處理后,返回的是客戶端要的數據

2004-12-31 15:17:21 /:>D10.天地弦(185511468)
我們現在看到中間層的代碼

2004-12-31 15:17:43 /:>D10.天地弦(185511468)
function TMLRDataModule.ProcessData(ModuleIndex, ActionIndex: Integer;
? var Data, Msg: OleVariant): WordBool;
begin
? try
??? result := TFrameworkServices.ItSelf[ID].ModelService[ModuleIndex].ProcessData(Id, ActionIndex, Data, Msg) = S_OK;
??? result := true;
? except
??? result := false;??? //
? end;
end;

2004-12-31 15:18:08 /:>D10.天地弦(185511468)
大家有看到不

2004-12-31 15:18:11 /:>D10.天地弦(185511468)
這句是在Server.工程里的
75行
unit uMLRDataModule;

2004-12-31 15:19:21 /:>D10.天地弦(185511468)
所有客戶端請求處理的數據都通過該函數進行處理

2004-12-31 15:19:52 西門吹風㊣(48542332)
大家看明白這句嗎?
TFrameworkServices.ItSelf[ID].ModelService[ModuleIndex].ProcessData(Id, ActionIndex, Data, Msg) = S_OK;

2004-12-31 15:20:02 D3天之痕若虹(86278566)
下載剛那文件呀
http://www.e-midas.cn/eds/dk.rar

2004-12-31 15:20:15 hellfire(149902352)
沒看懂

2004-12-31 15:20:46 /:>D10.天地弦(185511468)
大家,先停一下

2004-12-31 15:20:50 乾隆(7891551)
我也沒看懂

2004-12-31 15:21:00 西門吹風㊣(48542332)
TFrameworkServices 是個接口

2004-12-31 15:21:02 /:>D10.天地弦(185511468)
那句我等一下會講的

2004-12-31 15:21:21 /:>D10.天地弦(185511468)
我先想了解一下大家的思路

2004-12-31 15:21:35 /:>D10.天地弦(185511468)
處理數據的一個思路

2004-12-31 15:21:43 C03.MUSIC(281361369)
這個跟老大的思路是一樣的吧?

2004-12-31 15:21:44 西門吹風㊣(48542332)
對,估計大家一下很難跟

2004-12-31 15:21:44 D3天之痕若虹(86278566)
聽。。。

2004-12-31 15:21:47 /:>D10.天地弦(185511468)
然后介紹一下我的思路

2004-12-31 15:22:16 /:>D10.天地弦(185511468)
我先說我的思路吧

2004-12-31 15:22:38 /:>D10.天地弦(185511468)
客戶層==>中間層

2004-12-31 15:23:14 西門吹風㊣(48542332)
先聽一下吧


2004-12-31 15:23:17 /:>D10.天地弦(185511468)
首先我們想一想客戶層與中間層是不是需要很多的接口,來實現很多種服務呢

2004-12-31 15:23:29 乾隆(7891551)
是的

2004-12-31 15:23:35 /:>D10.天地弦(185511468)
客戶層==>中間層
首先我們想一想客戶層與中間層是不是需要很多的接口,來實現很多種服務呢

2004-12-31 15:23:45 hellfire(149902352)
Yes

2004-12-31 15:23:45?? 冷俊(76437853)

2004-12-31 15:23:52 西門吹風㊣(48542332)

2004-12-31 15:23:52 00.bit(10910310)
YS

2004-12-31 15:24:05 神王(375867424)
Y

2004-12-31 15:24:24 湖北人(364076660)
是啊

2004-12-31 15:24:26 /:>D10.天地弦(185511468)
計算機只認識0,1我想大家都知道吧

2004-12-31 15:24:42 C03.MUSIC(281361369)
這一句應該是對接口進行統一封裝吧

2004-12-31 15:24:46 乾隆(7891551)
是的

2004-12-31 15:24:55 /:>D10.天地弦(185511468)
0,1,兩個東西,就可以實現各種服務了,

2004-12-31 15:25:18 hellfire(149902352)
go on

2004-12-31 15:25:28 A3.武稀松(42088303)
組合啊

2004-12-31 15:25:42 /:>D10.天地弦(185511468)
所以我想沒有必要,中間層和客戶層,通過很多線路聯起來

2004-12-31 15:25:50 A3.武稀松(42088303)
嚴重同意

2004-12-31 15:25:52 乾隆(7891551)
你是說客戶端調用中間層的過程和函數,中間層靠返回的0,1來判斷執行還是不執行?

2004-12-31 15:26:08 西門吹風㊣(48542332)

2004-12-31 15:26:23 /:>D10.天地弦(185511468)
我的意思是,中間層對客戶層,只要少量的接口,就可以實現客戶服務

2004-12-31 15:26:58 神王(375867424)
如果業務量大的話,有如何

2004-12-31 15:27:11 /:>D10.天地弦(185511468)
我來打個如方,以前在學校,上層開會的時候只把所有的人招集起來開會,還是每個班派一個代表去就行了

2004-12-31 15:27:14 乾隆(7891551)
D10:這里的接口可以理解成過程和函數嗎?

2004-12-31 15:27:20 D3天之痕若虹(86278566)
先聽聽,D10的思路吧

2004-12-31 15:27:30 C03.MUSIC(281361369)
是每個班派一個代表吧

2004-12-31 15:27:41 /:>D10.天地弦(185511468)
是的,每個班派一個代表

2004-12-31 15:28:05 神王(375867424)
這要看情況

2004-12-31 15:28:10 hellfire(149902352)
上層開會肯定是派一個代表吧

2004-12-31 15:28:23 /:>D10.天地弦(185511468)
客戶層和中間層也一樣只有需要少量接口,

2004-12-31 15:28:34 神王(375867424)
繼續說,

2004-12-31 15:28:38 西門吹風㊣(48542332)
代表就是我們的接口

2004-12-31 15:28:39 乾隆(7891551)
哦,在聽

2004-12-31 15:28:44 /:>D10.天地弦(185511468)
想想客戶層和中間層的通訊,大部分是怎么樣的

2004-12-31 15:28:47 C03.MUSIC(281361369)
就是說應該為中間層也進行分層管理?

2004-12-31 15:28:56 乾隆(7891551)
這里的接口可以理解成過程和函數嗎??

2004-12-31 15:29:15 初六無云(359062004)
接口就是協議,過程,函數也是協議

2004-12-31 15:29:17 D3天之痕若虹(86278566)
也可以

2004-12-31 15:29:48 /:>D10.天地弦(185511468)
是不是傳遞參數信息到中間層,中間層根據這些參數信息,然后,決定要做什么事,然后需要返回數據就返回數據到客戶層

2004-12-31 15:29:59 乾隆(7891551)
講通俗點嘛,DELPHI都準備好協議了直接說是函數或過程吧

2004-12-31 15:30:03 神王(375867424)
是的

2004-12-31 15:30:13?? 冷俊(76437853)

2004-12-31 15:30:30 /:>D10.天地弦(185511468)
中間層根據這些參數信息,然后,決定要做什么事,然后需要返回數據就返回數據到客戶層?

2004-12-31 15:30:58 /:>D10.天地弦(185511468)
大伙先跟著我的思路想一想

2004-12-31 15:31:10 神王(375867424)
明白

2004-12-31 15:31:21 乾隆(7891551)
想通了,這里好理解

2004-12-31 15:31:23 西門吹風㊣(48542332)

2004-12-31 15:31:43 C9. 隨風飄(87450854)
繼續??

2004-12-31 15:31:47 D3天之痕若虹(86278566)
有些像設計模式的思想....

2004-12-31 15:31:47?? 冷俊(76437853)
我還行?

2004-12-31 15:31:57 乾隆(7891551)
講講如何具體處理客戶發出請求吧

2004-12-31 15:31:58 A3.武稀松(42088303)
D10是說定義盡量少的接口方法,通過參數控制中間層的功能調用?

2004-12-31 15:32:05 /:>D10.天地弦(185511468)
像Windows消息一樣,Windows只負責發送各種消息到應用程序,然后,應用程序根據消息的代碼做出反應

2004-12-31 15:32:16 西門吹風㊣(48542332)
對,D10就是用到設計模式

2004-12-31 15:32:26 /:>D10.天地弦(185511468)
42088303(A3.武稀松) 15:31:58
D10是說定義盡量少的接口方法,通過參數控制中間層的功能調用? ==》3哥,是的

2004-12-31 15:32:51 hellfire(149902352)
明白

2004-12-31 15:33:09 D3天之痕若虹(86278566)
其實D10的思路就是。。
在服務端,再分塊管理。。。

2004-12-31 15:33:27 C03.MUSIC(281361369)
A1的那個程序也是這樣

2004-12-31 15:33:34 /:>D10.天地弦(185511468)
我們中間層都通過
?? function ProcessData(ModuleIndex, ActionIndex: Integer; var Data,
????? Msg: OleVariant): WordBool; safecall;
來路客戶端打交道

2004-12-31 15:33:47 /:>D10.天地弦(185511468)
對的,其實就是A1的三層了接口了

2004-12-31 15:33:59 乾隆(7891551)
哦,客戶端就一個函數啊

2004-12-31 15:34:22 神王(375867424)
只是傳與接

2004-12-31 15:34:28 /:>D10.天地弦(185511468)
大家都明白嗎?

2004-12-31 15:34:30 C9. 隨風飄(87450854)
就象所謂的瘦客戶端?

2004-12-31 15:34:38 西門吹風㊣(48542332)
明白

2004-12-31 15:34:46 C03.MUSIC(281361369)
其實中間層就提供給客戶端一個或幾個接口,具體實現是經過封裝了的,這些對客戶沒有用處,對否?

2004-12-31 15:34:47 D3天之痕若虹(86278566)
是的,就是說只要接口統一。。

2004-12-31 15:34:48 神王(375867424)
明白

2004-12-31 15:35:03 B1.斜陽(249208513)
我倒是覺得這么出來客戶端和中間層的調用,有點過于簡單。先聽你講課吧,完事再討論這個問題

2004-12-31 15:35:17 乾隆(7891551)
說錯了吧,是中間層就一個函數PROcessData于客戶打交道吧

2004-12-31 15:35:32 /:>D10.天地弦(185511468)
??? function ProcessData(ModuleIndex, ActionIndex: Integer; var Data,
????? Msg: OleVariant): WordBool; safecall;
Data 參數(

2004-12-31 15:36:11 /:>D10.天地弦(185511468)
客戶端發送請求的時候中間層收到請求可以從Data這個參數里取參數

2004-12-31 15:36:13 乾隆(7891551)
D10:這個函數好復雜啊,給講講啥意思

2004-12-31 15:36:20 /:>D10.天地弦(185511468)
各種參數

2004-12-31 15:36:32 A1.Aleyn.wu(45198124)
我們中間層都通過
??? function ProcessData(ModuleIndex, ActionIndex: Integer; var Data,
????? Msg: OleVariant): WordBool; safecall;?? <-怎么看都有點熟悉。。。。。。[:D]

2004-12-31 15:36:48 /:>D10.天地弦(185511468)
ModuleIndex是指定要通過那個模塊來處理這個信息,

2004-12-31 15:37:02 /:>D10.天地弦(185511468)
呵呵,是你發明的東西了,當然熟

2004-12-31 15:37:07 /:>D10.天地弦(185511468)
我只是再炒一下

2004-12-31 15:37:17 西門吹風㊣(48542332)
活學活用

2004-12-31 15:37:19 /:>D10.天地弦(185511468)
ActionIndex是要執行的動作了

2004-12-31 15:37:31 /:>D10.天地弦(185511468)
是一個Integer類型

2004-12-31 15:37:37 A1.Aleyn.wu(45198124)
ActionIndex可以不用在參數里。

2004-12-31 15:37:39 /:>D10.天地弦(185511468)
ActionIndex =1的時候做什么

2004-12-31 15:37:51 /:>D10.天地弦(185511468)
=2的時候做什么

2004-12-31 15:38:00 /:>D10.天地弦(185511468)
這樣協議就是大家去規定了

2004-12-31 15:38:01 初六無云(359062004)
提個意見,把這個函數的參數用一個類來表示怎樣?

2004-12-31 15:38:07 神王(375867424)
利用消息傳遞機制

2004-12-31 15:38:18 A3.武稀松(42088303)
建議客戶端可以在有一個包裝,可以定義各種方法.在方法里面調用ProcessData.
就像Windows既提供消息,也提供方便調用的API.

2004-12-31 15:38:19 A1.Aleyn.wu(45198124)
函數一般在三個參數以內比較好,你這個函數有改進一下。

2004-12-31 15:38:33 /:>D10.天地弦(185511468)

2004-12-31 15:38:38 神王(375867424)
同意A3

2004-12-31 15:38:51 /:>D10.天地弦(185511468)
function TMLRDataModule.ProcessData(ModuleIndex, ActionIndex: Integer;
? var Data, Msg: OleVariant): WordBool;
begin
? try
??? result := TFrameworkServices.ItSelf[ID].ModelService[ModuleIndex].ProcessData(Id, ActionIndex, Data, Msg) = S_OK;
??? result := true;
? except
??? result := false;??? //
? end;
end;

2004-12-31 15:38:53 A3.武稀松(42088303)
D10認為如何

2004-12-31 15:39:30 乾隆(7891551)
接著講這個函數啊,WordBool什么意思啊[:$]

2004-12-31 15:39:31 /:>D10.天地弦(185511468)
3哥,好啊

2004-12-31 15:39:40 /:>D10.天地弦(185511468)
我功力還不夠

2004-12-31 15:39:49 西門吹風㊣(48542332)
WordBool 布爾型

2004-12-31 15:39:52 A3.武稀松(42088303)
大家在討論么

2004-12-31 15:39:56 /:>D10.天地弦(185511468)
不知道大家有沒有跟上

2004-12-31 15:39:56 神王(375867424)
大哥先接著說

2004-12-31 15:39:57 A1.Aleyn.wu(45198124)
42088303(A3.武稀松) 15:38:18
建議客戶端可以在有一個包裝,可以定義各種方法.在方法里面調用ProcessData.
就像Windows既提供消息,也提供方便調用的API. <-如果D10是繼承我的做法,那就是A3你所說的了。

2004-12-31 15:40:09 B1.斜陽(249208513)
早在A1給出他的代碼的時候,我就覺得客戶端和中間層的模塊綁的有點過于緊密,呵呵,
還沒形成一個好的思路跟A1說,這又有一個人用上這個方法了[:D]

2004-12-31 15:40:36 /:>D10.天地弦(185511468)
大家有沒有跟上?
?

2004-12-31 15:40:44 D3天之痕若虹(86278566)
在聽。。

2004-12-31 15:40:44 初六無云(359062004)
傳一個 command 比較好,還可以自己檢驗

2004-12-31 15:40:58 /:>D10.天地弦(185511468)
function TMLRDataModule.ProcessData(ModuleIndex, ActionIndex: Integer;
? var Data, Msg: OleVariant): WordBool;
begin
? try
??? result := TFrameworkServices.ItSelf[ID].ModelService[ModuleIndex].ProcessData(Id, ActionIndex, Data, Msg) = S_OK;
??? result := true;
? except
??? result := false;??? //
? end;
end;?

2004-12-31 15:41:08 /:>D10.天地弦(185511468)
好我們現在來看這個函數

2004-12-31 15:41:50 /:>D10.天地弦(185511468)
這里就是中間層處理的東東了

2004-12-31 15:41:52 C9. 隨風飄(87450854)
可惜? 還能看到A1的代碼

2004-12-31 15:41:59 /:>D10.天地弦(185511468)
兄弟,別頂

2004-12-31 15:42:03 乾隆(7891551)
水平高的人你們為什么不象D10樣我偶講課,呵呵

2004-12-31 15:42:13 A3.武稀松(42088303)
不說別的.每種模式都有許多種分支.
D10 繼續

2004-12-31 15:42:34 神王(375867424)
大哥,繼承

2004-12-31 15:42:44 乾隆(7891551)
接著講這個函數吧,還是看不懂

2004-12-31 15:42:49 /:>D10.天地弦(185511468)
中間層收到信息后,要做的事就是要找到對應的模塊來處理信息

2004-12-31 15:43:05 乾隆(7891551)
是,這個知道

2004-12-31 15:43:06 D3天之痕若虹(86278566)
ID 如何同步呢?

2004-12-31 15:43:31 C9. 隨風飄(87450854)
然后通過模塊處理后的 DATA 再返回?

2004-12-31 15:43:33 乾隆(7891551)
ID啥意思,

2004-12-31 15:43:50 D3天之痕若虹(86278566)
ItSelf[ID]

2004-12-31 15:43:51 /:>D10.天地弦(185511468)
現在我們來看中間層是如果來做要做的事的

2004-12-31 15:44:33 /:>D10.天地弦(185511468)
現在,我們來看看,這里和A1走的可能不太一樣

2004-12-31 15:44:36 A1.Aleyn.wu(45198124)
D10繼續。

2004-12-31 15:44:55 乾隆(7891551)

2004-12-31 15:45:19 /:>D10.天地弦(185511468)
這里我講一下中間層和模塊之間的幾個接口

2004-12-31 15:45:33 西門吹風㊣(48542332)
unit MLInterface;?


2004-12-31 15:46:30 /:>D10.天地弦(185511468)
? IModelInfo = interface //模塊基本信息接口
??? procedure GetModelInfo(var ModelInfo: OleVariant); stdcall;
??? function GetModelInfoData(): OleVariant; stdcall;
??? function SetModelConfig(FixDataBase: Boolean; ConnString: WideString): HResult; stdcall;
? end;

? IModelService = interface //模塊操作接口
??? function ProcessData(OwnId: Cardinal; ActionIndex: Integer; var Data, Msg: OleVariant): HResult; stdcall;

??? //主程序調用此函數關閉模塊操作
??? function CloseModel(): HResult; stdcall;
? end;

? IFrameworkService = interface //框架提供接口
??? function GetID(): Cardinal; stdcall;
??? function GetModelService(ModelIndex: Integer): IModelService; stdcall;
??? function GetFrameWorkInfo(ActionIndex: Integer; var Data, Msg: OleVariant): HResult; stdcall;
??? property ModelService[ModelIndex: Integer]: IModelService read GetModelService; default;
? end;

? IFrameworkServices = interface //框架集接口(通過該接口查得到框架服務接口)
??? function GetFrameworkService(_id: Integer): IFrameworkService; stdcall;
??? property FrameworkServices[_id: Integer]: IFrameworkService read GetFrameworkService; default;
? end;
?

2004-12-31 15:47:02 hellfire(149902352)
一個一個來吧!貼得好像有點多[:D]

2004-12-31 15:47:09 /:>D10.天地弦(185511468)
這是中間層的幾個接口

2004-12-31 15:47:20 /:>D10.天地弦(185511468)
好的

? IModelInfo = interface //模塊基本信息接口
??? procedure GetModelInfo(var ModelInfo: OleVariant); stdcall;
??? function GetModelInfoData(): OleVariant; stdcall;
??? function SetModelConfig(FixDataBase: Boolean; ConnString: WideString): HResult; stdcall;
? end;

2004-12-31 15:47:34 /:>D10.天地弦(185511468)
其實這里我多寫了一個函數
? IModelInfo = interface //模塊基本信息接口
??? function GetModelInfoData(): OleVariant; stdcall;
??? function SetModelConfig(FixDataBase: Boolean; ConnString: WideString): HResult; stdcall;
? end;

2004-12-31 15:48:30 /:>D10.天地弦(185511468)
這個接口就這樣就可以的

2004-12-31 15:48:30 西門吹風㊣(48542332)
獲取模塊信息

2004-12-31 15:48:48 乾隆(7891551)
這是在定義接口吧

2004-12-31 15:48:55 西門吹風㊣(48542332)

2004-12-31 15:49:23 /:>D10.天地弦(185511468)
模塊通過實現這個接口,來讓中層間獲取模塊信息

2004-12-31 15:49:38 /:>D10.天地弦(185511468)
定義接口,就是制定協議

2004-12-31 15:49:51 D3天之痕若虹(86278566)
yes

2004-12-31 15:49:51 /:>D10.天地弦(185511468)
? IModelService = interface //模塊操作接口
??? function ProcessData(OwnId: Cardinal; ActionIndex: Integer; var Data, Msg: OleVariant): HResult; stdcall;

??? //主程序調用此函數關閉模塊操作
??? function CloseModel(): HResult; stdcall;
? end;

2004-12-31 15:50:05 /:>D10.天地弦(185511468)
好來看第二個接口

2004-12-31 15:50:15 乾隆(7891551)
給我講講調接口與客戶端直接調用通過中間層的函數又什么好處?
?
2004-12-31 15:50:31 西門吹風㊣(48542332)
先聽吧

2004-12-31 15:50:44 乾隆(7891551)
好吧,基礎太差[:'(]

2004-12-31 15:51:01 /:>D10.天地弦(185511468)
模塊通過實現該接口,來讓中間層執行數據處理操作

2004-12-31 15:51:03?? 冷俊(76437853)
我好吃力的說


2004-12-31 15:51:19 hellfire(149902352)
明白

2004-12-31 15:51:20 神王(375867424)
聽完了,慢慢去想

2004-12-31 15:51:38 西門吹風㊣(48542332)
對,慢慢消化

2004-12-31 15:51:43 /:>D10.天地弦(185511468)
??? function ProcessData(OwnId: Cardinal; ActionIndex: Integer; var Data, Msg: OleVariant): HResult; stdcall;

這個函數,和中間層提供的給客戶端的差不多

2004-12-31 15:51:53 /:>D10.天地弦(185511468)
只是多了一個OwnId

2004-12-31 15:52:02 /:>D10.天地弦(185511468)
我們先不管,

2004-12-31 15:52:16 神王(375867424)
這凼數功能是什么

2004-12-31 15:52:21 /:>D10.天地弦(185511468)
知道是用來調用模塊處理數據的就行了

2004-12-31 15:52:27 /:>D10.天地弦(185511468)
調用模塊處理數據的就行了

2004-12-31 15:52:40 B1.斜陽(249208513)
D10的目的是不是想先通過一個簡單、一致的接口,讓客戶端可以方便地同中間層通訊。

2004-12-31 15:52:48 西門吹風㊣(48542332)
對,具體怎么實現,后面講

2004-12-31 15:52:55 /:>D10.天地弦(185511468)
嗯,

2004-12-31 15:53:13 神王(375867424)
先建立通信機制

2004-12-31 15:53:26?? 冷俊(76437853)
HResult 這個什么意思?

2004-12-31 15:53:31 B1.斜陽(249208513)
然后在中間層中,通過實現約定的接口來擴展中間層能提供的服務數量

2004-12-31 15:53:31 /:>D10.天地弦(185511468)
自己再加模塊的時候就,自己制定ActionIndex的協議就行了

2004-12-31 15:53:54 /:>D10.天地弦(185511468)
HResult 其實就是一個Integer類型

2004-12-31 15:54:07 /:>D10.天地弦(185511468)
??? //主程序調用此函數關閉模塊操作
??? function CloseModel(): HResult; stdcall;

2004-12-31 15:54:18 D3天之痕若虹(86278566)
客戶只要告訴服務器,想做什么的。。
而什么的做,由誰(哪個子模塊來完成)。。就由服務端定義實現。。而這個對客戶是不關心的

2004-12-31 15:54:51 /:>D10.天地弦(185511468)
這個接口,是告訴模塊,中間層要關閉了,進行一行必須的釋放工作

2004-12-31 15:54:59 B1.斜陽(249208513)
我感覺這個由誰做好像也是客戶端指定的

2004-12-31 15:55:20 神王(375867424)
應該是

2004-12-31 15:55:26 /:>D10.天地弦(185511468)
是有點這樣的意思

2004-12-31 15:55:46 西門吹風㊣(48542332)
客戶端傳遞ModuleIndex決定?

2004-12-31 15:55:47 /:>D10.天地弦(185511468)
249208513(B1.斜陽) 15:54:59
我感覺這個由誰做好像也是客戶端指定的 -->是客戶端與模塊之樣的協議一樣

2004-12-31 15:56:00 B1.斜陽(249208513)
而中間層,只是起到一個轉發的中介的作用

2004-12-31 15:56:07 D3天之痕若虹(86278566)
由誰完成操作請請,應該服務端定義。

2004-12-31 15:56:11 /:>D10.天地弦(185511468)

2004-12-31 15:56:21 神王(375867424)
明白

2004-12-31 15:56:32 /:>D10.天地弦(185511468)
? IFrameworkService = interface //框架提供接口
??? function GetID(): Cardinal; stdcall;
??? function GetModelService(ModelIndex: Integer): IModelService; stdcall;
??? function GetFrameWorkInfo(ActionIndex: Integer; var Data, Msg: OleVariant): HResult; stdcall;
??? property ModelService[ModelIndex: Integer]: IModelService read GetModelService; default;
? end;

2004-12-31 15:56:39 /:>D10.天地弦(185511468)
再看一個接口

2004-12-31 15:57:11 /:>D10.天地弦(185511468)
框架提供的接口

2004-12-31 15:57:25 神王(375867424)
這個接口實現什么功能

2004-12-31 15:57:34 D3天之痕若虹(86278566)
恩,說說各個函數的功能

2004-12-31 15:57:40 /:>D10.天地弦(185511468)
中間層會為每個客戶端連接,實現一個這樣的接口

2004-12-31 15:57:58 /:>D10.天地弦(185511468)
這個接口,是給模塊里調用的

2004-12-31 15:58:29 /:>D10.天地弦(185511468)
我先不說吧,后面說

2004-12-31 15:58:45 /:>D10.天地弦(185511468)
? IFrameworkServices = interface //框架集接口(通過該接口查得到框架服務接口)
??? function GetFrameworkService(_id: Integer): IFrameworkService; stdcall;
??? property FrameworkServices[_id: Integer]: IFrameworkService read GetFrameworkService; default;
? end;

2004-12-31 15:58:57 /:>D10.天地弦(185511468)
最后一個接口

2004-12-31 15:59:33 /:>D10.天地弦(185511468)
是中間層為了維護所有的框架集而實現的接口

2004-12-31 15:59:49 乾隆(7891551)
框架服務是指什么啊

2004-12-31 16:00:03 /:>D10.天地弦(185511468)
可以利用該接口來得到一個框架服務接口

2004-12-31 16:00:58 /:>D10.天地弦(185511468)
一個框架就像一個平臺一樣,框架的服務就是為活動在這個平臺上的模塊實現的服務

2004-12-31 16:01:42 乾隆(7891551)
好象明白點了再具體點比方下

2004-12-31 16:01:46 /:>D10.天地弦(185511468)
現在我們再回到
function TMLRDataModule.ProcessData(ModuleIndex, ActionIndex: Integer;
? var Data, Msg: OleVariant): WordBool;
begin
? try
??? result := TFrameworkServices.ItSelf[ID].ModelService[ModuleIndex].ProcessData(Id, ActionIndex, Data, Msg) = S_OK;
??? result := true;
? except
??? result := false;??? //
? end;
end;

2004-12-31 16:01:47 神王(375867424)
是不是就是的到另外一接口

2004-12-31 16:02:03 /:>D10.天地弦(185511468)
==,我想想

2004-12-31 16:02:06 D3天之痕若虹(86278566)
是的...
好比電話主機,誰打入,它會幫助轉到對應的分機號

2004-12-31 16:02:38 乾隆(7891551)
哦框架接口就是這個電話主機,對吧

2004-12-31 16:02:40 神王(375867424)
好比網絡協議傳輸一樣

2004-12-31 16:02:43 /:>D10.天地弦(185511468)
先按自己的想像來理解一下吧,后面說完應該會明的

2004-12-31 16:03:01 西門吹風㊣(48542332)
按你的思路繼續



<圖四>中間層與模塊通訊圖



2004-12-31 16:03:17 /:>D10.天地弦(185511468)
這是三個主要的接口

2004-12-31 16:03:41 /:>D10.天地弦(185511468)
現在我們來看中間層是如果來做要做的事的?

2004-12-31 16:03:54 /:>D10.天地弦(185511468)
現在我們來看中間層是如何來做要做的事的

2004-12-31 16:04:04 /:>D10.天地弦(185511468)
??? result := TFrameworkServices.ItSelf[ID].ModelService[ModuleIndex].ProcessData(Id, ActionIndex, Data, Msg) = S_OK;

2004-12-31 16:04:04 乾隆(7891551)
又貼了我就看不到啊

2004-12-31 16:04:29 /:>D10.天地弦(185511468)
是中間層與模塊的通訊里的圖

2004-12-31 16:04:33 /:>D10.天地弦(185511468)
??? result := TFrameworkServices.ItSelf[ID].ModelService[ModuleIndex].ProcessData(Id, ActionIndex, Data, Msg) = S_OK;?
大家可以看明上面這句嗎?

2004-12-31 16:04:54 乾隆(7891551)
 不可以

2004-12-31 16:05:21 /:>D10.天地弦(185511468)
看看
TFrameworkServices.ItSelf
是什么樣的函數

2004-12-31 16:05:22 西門吹風㊣(48542332)
TFrameworkServices.ItSelf[ID] 創建一個實例

2004-12-31 16:05:25 A3.武稀松(42088303)
是不是要查一下,因為如果你的模塊做成可擴充插入的話.可能要先查一下存不存在

2004-12-31 16:05:39 /:>D10.天地弦(185511468)
是的

2004-12-31 16:06:03 hellfire(149902352)
停一下.我看看TFrameworkServices.ItSelf

2004-12-31 16:06:19 /:>D10.天地弦(185511468)
現在我們來看中間層是如何來做要做的事的 (就是要把信息轉發給模塊),主要是要找到模塊

2004-12-31 16:06:33 /:>D10.天地弦(185511468)
大家看看
TFrameworkServices.ItSelf的實現

2004-12-31 16:07:15 /:>D10.天地弦(185511468)
麻煩貼一下代碼

2004-12-31 16:07:21 西門吹風㊣(48542332)
通過 TFrameworkServices的ModelService 中的ModuleIndex 模塊 的ProcessData 函數去操作數據庫

2004-12-31 16:07:29 D3天之痕若虹(86278566)
class function ItSelf: TFrameworkServices;
{$J+}

class function TFrameworkServices.ItSelf: TFrameworkServices;
const
? FInstance: TFrameworkServices = nil;
begin
? if FInstance = nil then
? begin
??? FInstance := TFrameworkServices(TFrameworkServices.NewInstance());
??? FInstance.Create();
? end;
? result := FInstance;
end;????????? //創建一個實列
{$J-}

2004-12-31 16:07:49 西門吹風㊣(48542332)
注意{$J+}

2004-12-31 16:07:53 /:>D10.天地弦(185511468)
是的

2004-12-31 16:08:01 /:>D10.天地弦(185511468)
?這里用了一個設計模式

2004-12-31 16:08:06 /:>D10.天地弦(185511468)
Singleton 模式
單件模式

2004-12-31 16:08:22 D3天之痕若虹(86278566)
單一模式

2004-12-31 16:08:29 西門吹風㊣(48542332)
設計模式的一種

2004-12-31 16:08:49 hellfire(149902352)
這里慢點,我都還沒看清,就過了

2004-12-31 16:09:19 西門吹風㊣(48542332)
這里開始難以搞懂

2004-12-31 16:09:33 /:>D10.天地弦(185511468)
是在整個框架中,訪問這個函數,得到都是同一個實例

2004-12-31 16:09:42 /:>D10.天地弦(185511468)
還沒有過


2004-12-31 16:09:57 D3天之痕若虹(86278566)
const
? FInstance: TFrameworkServices = nil; //為什么可定成const呢

2004-12-31 16:10:28 /:>D10.天地弦(185511468)
呵呵,不想定義全局變量,就這樣定義了

2004-12-31 16:10:40 hellfire(149902352)
這個函數在哪個單元

2004-12-31 16:10:56 /:>D10.天地弦(185511468)
FrameworkServiceImp

2004-12-31 16:11:13 /:>D10.天地弦(185511468)
大家可以看明不?

2004-12-31 16:11:26 hellfire(149902352)
Tks.找到了

2004-12-31 16:11:32 hellfire(149902352)
明白

2004-12-31 16:11:49 D3天之痕若虹(86278566)
? if FInstance = nil then
? begin
??? FInstance := TFrameworkServices(TFrameworkServices.NewInstance());
??? FInstance.Create();
? end;
//這個 if 有必要嗎。。。

2004-12-31 16:11:57 /:>D10.天地弦(185511468)
當然有

2004-12-31 16:12:10 D3天之痕若虹(86278566)
直接寫不就可以。。。
你申請時已是nil了

2004-12-31 16:12:19 /:>D10.天地弦(185511468)
第二次就不為Nil了

2004-12-31 16:12:26 西門吹風㊣(48542332)
講一講{j+}

2004-12-31 16:12:28 D3天之痕若虹(86278566)
恩,原來如此

2004-12-31 16:12:32 /:>D10.天地弦(185511468)
hehe

2004-12-31 16:12:35 西門吹風㊣(48542332)
就明白了

2004-12-31 16:12:45 西門吹風㊣(48542332)
不論是{$J+}或{$J-}, 以const VarName = const value; 定義的常數(
沒有加上型別宣告), 是一個真正的常數, 其它的程序不可以改變其內容。
其實{$J+}時還有一個妙用, 那就是宣告出類似C語言static的變量, 換句話說,
產生了一個與Application相同生命周期的變量。在這種情形下, 變量只在第一
次使用時才會建立, 函數或程序結束時, 該變量也不會消滅, 下一次再呼叫到這個函數
或程序時, 我們仍然可以參考到上次執行結束時的值。讓我們試一下這個例子:
{$J+}
procedure TForm1.Button1Click(Sender: TObject);
const
i: integer = 0;
begin
ShowMessage(IntToStr(i));
Inc(i);
ShowMessage(IntToStr(i));
end;
第一次執行時, 我們分別會看到「0」「1」, 再點一次這個按鈕時, 看到的將是「1」「2」。

2004-12-31 16:12:53 西門吹風㊣(48542332)
太多了,呵呵

2004-12-31 16:12:54 /:>D10.天地弦(185511468)
修改Const變量,要使用{$J+}

2004-12-31 16:13:21 /:>D10.天地弦(185511468)
明了?,這里要過了

2004-12-31 16:13:29 湖北人(364076660)
==

2004-12-31 16:13:30 D3天之痕若虹(86278566)

2004-12-31 16:13:49 神王(375867424)
明白,

2004-12-31 16:14:15 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf這個就是得到一個TFrameworkServices實例,得到這個實例,是整個框架中唯一的實例

2004-12-31 16:14:30 C06.文/yb(4184443)
D10哥,講了多少了!我剛開完會啊!真暈!

2004-12-31 16:14:45 /:>D10.天地弦(185511468)
你看看記錄

2004-12-31 16:14:52 C06.文/yb(4184443)
哦!

2004-12-31 16:14:55 /:>D10.天地弦(185511468)
我慢慢講,你慢慢跟

2004-12-31 16:15:00 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf這個就是得到一個TFrameworkServices實例,得到這個實例,
是整個框架中唯一的實例?

2004-12-31 16:15:02 C06.文/yb(4184443)
哦!

2004-12-31 16:15:19 /:>D10.天地弦(185511468)
明這句話了,就明了剛剛那段

2004-12-31 16:15:54 /:>D10.天地弦(185511468)
我繼續了

2004-12-31 16:15:59 /:>D10.天地弦(185511468)
? TFrameworkServices = class(TdkObjectList, IFrameworkServices)
? private
??? function GetFrameworkService(_id: Integer): IFrameworkService; stdcall;
? public
??? constructor Create(); //
??? class function ItSelf: TFrameworkServices;
? public
??? property FrameworkServices[_id: Integer]: IFrameworkService read GetFrameworkService; default;
? end;??????? //
?

2004-12-31 16:16:09 /:>D10.天地弦(185511468)
我們來看看這個類

2004-12-31 16:16:20 D3天之痕若虹(86278566)
就是說
class function TFrameworkServices.ItSelf: TFrameworkServices;
只真正創建一個實例?

2004-12-31 16:16:28 /:>D10.天地弦(185511468)

2004-12-31 16:16:36 /:>D10.天地弦(185511468)
看完了沒有,這個類

2004-12-31 16:16:50 /:>D10.天地弦(185511468)
這里和A1的不太一樣

2004-12-31 16:17:05 乾隆(7891551)
崇拜死了,D10delphi這么精通了啊

2004-12-31 16:17:09 /:>D10.天地弦(185511468)
就是查找模塊這個功能

2004-12-31 16:17:18 /:>D10.天地弦(185511468)

2004-12-31 16:17:29 /:>D10.天地弦(185511468)
應該是各位老大,

2004-12-31 16:17:38 西門吹風㊣(48542332)
繼續

2004-12-31 16:17:40 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf[ID]

2004-12-31 16:18:01 /:>D10.天地弦(185511468)
這一句和
TFrameworkServices.ItSelf.FrameworkServices[ID] 一樣的

2004-12-31 16:18:05 /:>D10.天地弦(185511468)
大家明不


2004-12-31 16:18:45 /:>D10.天地弦(185511468)
知道,3弟,你講一下

2004-12-31 16:19:05 D3天之痕若虹(86278566)
class function ItSelf: TFrameworkServices;
定義的類型是一樣的。。。

2004-12-31 16:19:30 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf這一部分可以不用講了解

2004-12-31 16:19:42 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf這一部分可以不用講了

2004-12-31 16:20:05 /:>D10.天地弦(185511468)
3弟,講一下

2004-12-31 16:20:09 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf[ID]
這一句和
TFrameworkServices.ItSelf.FrameworkServices[ID]
一樣的

2004-12-31 16:20:24 hellfire(149902352)
是不是跟FieldByName和Fields[]一個意思

2004-12-31 16:20:32 D3天之痕若虹(86278566)
我看一下

2004-12-31 16:20:57 /:>D10.天地弦(185511468)
hellfire我沒有看,應該差不多

2004-12-31 16:21:30 乾隆(7891551)
TFrameworkServices.ItSelf[ID] 這句作用是什么啊,通俗點說下啊

2004-12-31 16:22:00 神王(375867424)
這兩句都在上面的CLASS中,對嗎

2004-12-31 16:22:09 神王(375867424)
TFrameworkServices.ItSelf[ID]
這一句和
TFrameworkServices.ItSelf.FrameworkServices[ID]
一樣的

2004-12-31 16:22:12 /:>D10.天地弦(185511468)
我來說吧

2004-12-31 16:22:30?? 冷俊(76437853)
TFrameworkServices.ItSelf[ID] 這句作用是什么啊,通俗點說下啊
?

2004-12-31 16:22:37 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf是得到一個實例大家都知道了

2004-12-31 16:22:47 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf.FrameworkServices[ID]?

2004-12-31 16:23:04 B1.斜陽(249208513)
var
? ts: TStringList;
begin
? ts := TStringList.Create;
? ts.Add('aaaaa');
? Caption := ts[0];
? ts.Free
end;

2004-12-31 16:23:04 D3天之痕若虹(86278566)
TFrameworkServices.ItSelf[ID]
TFrameworkServices.ItSelf.FrameworkServices[ID]

都 返回一個IFrameworkService有接口?

2004-12-31 16:23:06 /:>D10.天地弦(185511468)
FrameworkServices是這個實例的一個屬性

2004-12-31 16:23:11 /:>D10.天地弦(185511468)
是的

2004-12-31 16:23:25 /:>D10.天地弦(185511468)
嗯和TStringList一樣的

2004-12-31 16:23:33 B1.斜陽(249208513)
知道這個是啥意思吧,和D10的用法是一樣的

2004-12-31 16:23:35 神王(375867424)
剛聽掉了一點,有點接不上了

2004-12-31 16:23:35 /:>D10.天地弦(185511468)
真高興,看到B1還在

2004-12-31 16:24:01 /:>D10.天地弦(185511468)
? TFrameworkServices = class(TdkObjectList, IFrameworkServices)
? private
??? function GetFrameworkService(_id: Integer): IFrameworkService; stdcall;
? public
??? constructor Create(); //
??? class function ItSelf: TFrameworkServices;
? public
??? property FrameworkServices[_id: Integer]: IFrameworkService read GetFrameworkService; default;
? end;??????? //

2004-12-31 16:24:14 /:>D10.天地弦(185511468)
這上屬性,你們看看property FrameworkServices[_id: Integer]: IFrameworkService read GetFrameworkService; default;
?

2004-12-31 16:24:18 /:>D10.天地弦(185511468)
這一句

2004-12-31 16:24:28 神王(375867424)
看到了

2004-12-31 16:24:30 乾隆(7891551)
哪點和Tstringlist的用法一樣啊,沒看出來

2004-12-31 16:24:51 /:>D10.天地弦(185511468)
249208513(B1.斜陽) 16:23:04
var
? ts: TStringList;
begin
? ts := TStringList.Create;
? ts.Add('aaaaa');
? Caption := ts[0];
? ts.Free
end;?

2004-12-31 16:25:00 B1.斜陽(249208513)
ItSelf[ID]

ts[0]

2004-12-31 16:25:06 /:>D10.天地弦(185511468)
上面的ts[0]就是ts.items[0]

2004-12-31 16:25:22 B1.斜陽(249208513)
是ts.Strings[0]

2004-12-31 16:25:27 /:>D10.天地弦(185511468)
呵呵

2004-12-31 16:25:29 /:>D10.天地弦(185511468)

2004-12-31 16:25:35 乾隆(7891551)
哦,明白了

2004-12-31 16:25:53 B1.斜陽(249208513)
主要是default關鍵字,如果不知道,看看語法書對default的定義吧

2004-12-31 16:26:06 /:>D10.天地弦(185511468)
對主要是Default關鍵字

2004-12-31 16:26:20 西門吹風㊣(48542332)
講一下

2004-12-31 16:26:26 /:>D10.天地弦(185511468)
在屬性上加一個Default關鍵字,就可以像數組一樣訪問了

2004-12-31 16:26:36 D3天之痕若虹(86278566)
property FrameworkServices[_id: Integer]: IFrameworkService read GetFrameworkService; default;
-----
是保持FrameworkServices[_id: Integer]的持久性...

2004-12-31 16:27:47 乾隆(7891551)
哦,是不是加個Default就可以按照[0]取第幾個方法了

2004-12-31 16:27:52 /:>D10.天地弦(185511468)
對的

2004-12-31 16:27:59 /:>D10.天地弦(185511468)
property FrameworkServices[_id: Integer]: IFrameworkService read GetFrameworkService; default;

2004-12-31 16:28:09 /:>D10.天地弦(185511468)
看看類的這個屬性

2004-12-31 16:28:10 hellfire(149902352)
了解[:D]

2004-12-31 16:28:12 /:>D10.天地弦(185511468)
加了一個Default

2004-12-31 16:28:22 /:>D10.天地弦(185511468)
加了一個Default

2004-12-31 16:28:26 神王(375867424)
明白

2004-12-31 16:28:30 /:>D10.天地弦(185511468)
呵呵,以前我也不知道,A1罵出來的

2004-12-31 16:28:51 C03.MUSIC(281361369)
給A1記一等功

2004-12-31 16:29:11 神王(375867424)
我請他[coffee]

2004-12-31 16:29:12 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf[ID]這樣就是調用了

2004-12-31 16:29:23 D3天之痕若虹(86278566)
[:P]

2004-12-31 16:29:25 B1.斜陽(249208513)
要想知道樹有多高,不要去看一片葉子,要站在遠處去看樹的整體。
不要在這些細節上糾纏了,聽講

2004-12-31 16:29:34 /:>D10.天地弦(185511468)
這個實例的
function GetFrameworkService(_id: Integer): IFrameworkService; stdcall;

2004-12-31 16:29:47 /:>D10.天地弦(185511468)

2004-12-31 16:30:19 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf[ID]這樣就是調用了這個實例的
GetFrameworkService(_id: Integer): IFrameworkService; 方法,返回一個IFrameWorkService接口

2004-12-31 16:30:32 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf[ID]返回一個IFrameWorkService接口

2004-12-31 16:30:48 西門吹風㊣(48542332)
明白了

2004-12-31 16:31:00 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf[ID].ModelService[ModuleIndex]

2004-12-31 16:31:30 /:>D10.天地弦(185511468)
之后的ModelService[ModuleIndex] 也就是返回一個IModelService接口

2004-12-31 16:32:00 /:>D10.天地弦(185511468)
也是使用了同樣的方法

2004-12-31 16:32:37 /:>D10.天地弦(185511468)
然后再調用該接口的方法ProcessData來處理數據

2004-12-31 16:32:51 /:>D10.天地弦(185511468)
這樣中間層的任務就完成了

2004-12-31 16:33:08 /:>D10.天地弦(185511468)
大家記得中間層的任務嗎?

2004-12-31 16:33:40 神王(375867424)
總結一下,我剛聽掉了一些

2004-12-31 16:34:08 /:>D10.天地弦(185511468)
3弟,中間層的任務是什么?

2004-12-31 16:34:21 A3.武稀松(42088303)
YWLJ

2004-12-31 16:34:38 /:>D10.天地弦(185511468)
YWLJ是什么?

2004-12-31 16:34:57 A3.武稀松(42088303)
你剛才問的答案

2004-12-31 16:35:05 神王(375867424)
大哥,總結一下

2004-12-31 16:35:33 /:>D10.天地弦(185511468)
不懂,

2004-12-31 16:35:36 D3天之痕若虹(86278566)
暈,剛掉了。。

2004-12-31 16:35:39 C9. 隨風飄(87450854)
對 D10 總結下拉?

2004-12-31 16:35:42 A3.武稀松(42088303)
拼音而已[;P]

2004-12-31 16:36:36 /:>D10.天地弦(185511468)
中間層的任務就是
找到對應的模塊接口,接參數傳遞到模塊進行處理

2004-12-31 16:36:45 /:>D10.天地弦(185511468)
還沒有

2004-12-31 16:36:56?? 冷俊(76437853)
哦 那就繼續?

2004-12-31 16:37:00 A3.武稀松(42088303)
暈倒.看來我說錯了

2004-12-31 16:37:05 /:>D10.天地弦(185511468)
今天還要不要繼續

2004-12-31 16:37:06 D3天之痕若虹(86278566)
就是根據client里傳的ModuleIndex, ActionIndex
?先初始相關模塊。。
?然后人在再由模塊管理中心,查

2004-12-31 16:37:22 /:>D10.天地弦(185511468)
中間層的任務就是
找到對應的模塊接口,將參數傳遞到模塊進行處理?

2004-12-31 16:37:28 D3天之痕若虹(86278566)
找對應的處理模塊,來做出相應的處理。。

2004-12-31 16:37:35 /:>D10.天地弦(185511468)
ye

2004-12-31 16:37:48 神王(375867424)
謝謝,繼續

2004-12-31 16:37:53 D3天之痕若虹(86278566)
不好意思,我表達能力不行。。。

2004-12-31 16:38:00 A3.武稀松(42088303)
D10還有的話就繼續啊

2004-12-31 16:38:10 /:>D10.天地弦(185511468)
3哥,我還以為你不在了

2004-12-31 16:38:25 乾隆(7891551)
找對應模塊是靠ModelService[ModuleIndex]
這句吧

2004-12-31 16:38:34 /:>D10.天地弦(185511468)
TFrameworkServices.ItSelf[ID].ModelService[ModuleIndex].ProcessData(Id, ActionIndex, Data, Msg)

2004-12-31 16:38:43 /:>D10.天地弦(185511468)
就是這一句,就是中間層要做的事了

2004-12-31 16:39:18 /:>D10.天地弦(185511468)
乾隆,是的

2004-12-31 16:39:21 D3天之痕若虹(86278566)
我有個不明白的地方,就是ID什么弄呢

2004-12-31 16:39:21 A3.武稀松(42088303)
我在工作.隔2分鐘才看一次

2004-12-31 16:39:31 /:>D10.天地弦(185511468)
呵呵,

2004-12-31 16:39:41 /:>D10.天地弦(185511468)
ID是什么,就是等下要講的了

2004-12-31 16:40:05?? 冷俊(76437853)
看來還是我這個菜鳥 敬課

2004-12-31 16:40:20 /:>D10.天地弦(185511468)
慢慢來

2004-12-31 16:40:24 A1.Aleyn.wu(45198124)
我和A3差不多,工作中,每隔幾份鐘上來看。

2004-12-31 16:40:29 /:>D10.天地弦(185511468)

2004-12-31 16:40:35 /:>D10.天地弦(185511468)
那我們開始了

2004-12-31 16:40:42 /:>D10.天地弦(185511468)
ID是什么,大家找找

2004-12-31 16:40:44 A3.武稀松(42088303)
但是D10的課,我一定會跟到底的

2004-12-31 16:40:59 /:>D10.天地弦(185511468)
[:<],感動中

2004-12-31 16:41:06 乾隆(7891551)
TFrameworkServices.ItSelf[ID].ModelService[ModuleIndex].ProcessData(Id, ActionIndex, Data, Msg)
   找框架的哪個方法調用     調用哪個功能模塊      具體執行這個功能模塊
理解對不?

2004-12-31 16:41:26 /:>D10.天地弦(185511468)
乾隆,對的

2004-12-31 16:41:29 /:>D10.天地弦(185511468)
你理解了

2004-12-31 16:41:31 D3天之痕若虹(86278566)
10弟弟幸苦了 [coffee]

2004-12-31 16:41:36 /:>D10.天地弦(185511468)
hehe

2004-12-31 16:41:39 A3.武稀松(42088303)
乾隆有進步啊

2004-12-31 16:41:57 /:>D10.天地弦(185511468)
我們繼續啦

2004-12-31 16:41:57 /:>D10.天地弦(185511468)
ID是什么,大家找找?

2004-12-31 16:41:59 神王(375867424)
大哥講的很好

2004-12-31 16:42:04 /:>D10.天地弦(185511468)
[;-D]

2004-12-31 16:42:14 D3天之痕若虹(86278566)
ok

2004-12-31 16:42:17 /:>D10.天地弦(185511468)
大伙的功勞,

2004-12-31 16:42:34 神王(375867424)
回頭[coffee]

2004-12-31 16:42:37 /:>D10.天地弦(185511468)
西門,你不在了

2004-12-31 16:42:44 /:>D10.天地弦(185511468)
ID是什么,大家找找

2004-12-31 16:42:46 西門吹風㊣(48542332)
在,聽

2004-12-31 16:42:51 /:>D10.天地弦(185511468)
3弟,找到沒有?

2004-12-31 16:42:53 D3天之痕若虹(86278566)
FThreadID: Cardinal;
?property ID: Cardinal read FThreadID;

2004-12-31 16:43:06 /:>D10.天地弦(185511468)
我們順藤摸瓜

2004-12-31 16:43:09 D3天之痕若虹(86278566)
只讀的?

2004-12-31 16:43:19 /:>D10.天地弦(185511468)
type
? TMLRDataModule = class(TRemoteDataModule, IMLRDataModule)
??? procedure RemoteDataModuleCreate(Sender: TObject);
??? procedure RemoteDataModuleDestroy(Sender: TObject);
? private
??? { Private declarations }
??? FModels: TModels; //為該客戶端維護的模塊列表
??? FService: TFrameworkService;
??? FThreadID: Cardinal;
??? CurrentUser: TUser;
? protected
??? class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
??? function ProcessData(ModuleIndex, ActionIndex: Integer; var Data,
????? Msg: OleVariant): WordBool; safecall;
??? function ProcessDataEx(ActionIndex: Integer; var Data,
????? Msg: OleVariant): WordBool; safecall;
? public
??? { Public declarations }
??? property ID: Cardinal read FThreadID;
? end;

2004-12-31 16:43:20 D3天之痕若虹(86278566)
那如何計數?

2004-12-31 16:43:45 西門吹風㊣(48542332)
?FThreadID := dkHandle.NewHandle; //為每個客戶端創建一個Handle
?

2004-12-31 16:44:09 /:>D10.天地弦(185511468)
中間層為每一次客戶端連結創建一個TMLRDataModule?

2004-12-31 16:44:17 /:>D10.天地弦(185511468)
大伙明白這點?

2004-12-31 16:44:37 D3天之痕若虹(86278566)
?FThreadID := dkHandle.NewHandle; //為每個客戶端創建一個Handle
?這樣不會被覆蓋了嗎?

2004-12-31 16:44:48 D3天之痕若虹(86278566)
每一次客戶端連結時

2004-12-31 16:44:58 /:>D10.天地弦(185511468)

2004-12-31 16:45:11 /:>D10.天地弦(185511468)
不知道大伙清不清楚

2004-12-31 16:45:25?? 冷俊(76437853)
D3天之痕若虹(86278566) 16:44:37
?FThreadID := dkHandle.NewHandle; //為每個客戶端創建一個Handle
?這樣不會被覆蓋了嗎?
D3天之痕若虹(86278566) 16:44:48
每一次客戶端連結時 [:>]D10.天地弦(185511468) 16:44:58

????

2004-12-31 16:45:31 D3天之痕若虹(86278566)
我的意思是指,如何保證一致性呢

2004-12-31 16:45:34 西門吹風㊣(48542332)
不是很清楚

2004-12-31 16:45:36 乾隆(7891551)
TMLRDataModule 是什么 相當與什么

2004-12-31 16:45:45 /:>D10.天地弦(185511468)
是RemoteModule

2004-12-31 16:46:07 D3天之痕若虹(86278566)
呵,稍等。。。先碼部分代碼看完先

2004-12-31 16:46:10 /:>D10.天地弦(185511468)
中間層為每一次客戶端連結創建一個TMLRDataModule? 這個是Midas
實現的功能

2004-12-31 16:46:24 /:>D10.天地弦(185511468)
3弟先別急

2004-12-31 16:46:33 /:>D10.天地弦(185511468)
西門清楚不

2004-12-31 16:46:38 西門吹風㊣(48542332)
清楚

2004-12-31 16:46:39 /:>D10.天地弦(185511468)
中間層為每一次客戶端連結創建一個TMLRDataModule? 這個是Midas
實現的功能?

2004-12-31 16:47:06 /:>D10.天地弦(185511468)
這個ID,只是每一次客戶端連結編一個號碼

2004-12-31 16:47:24 /:>D10.天地弦(185511468)
好像大家入隊的編號一樣,叫D3,肯定是3弟了

2004-12-31 16:47:50 D3天之痕若虹(86278566)
[:D]

2004-12-31 16:47:51 /:>D10.天地弦(185511468)
跟上沒有?

2004-12-31 16:47:51?? 冷俊(76437853)
可不可以逃跑?

2004-12-31 16:48:06 /:>D10.天地弦(185511468)
冷俊,你可以逃了

2004-12-31 16:48:12 /:>D10.天地弦(185511468)
呵呵

2004-12-31 16:48:18 西門吹風㊣(48542332)
繼續,不懂就問

2004-12-31 16:48:27 神王(375867424)
還有沒有沒

2004-12-31 16:48:32 /:>D10.天地弦(185511468)
這個ID,讀的就是FThreadID

2004-12-31 16:49:09 /:>D10.天地弦(185511468)
FThreadID 就是在TMLRDataModule創建的時候生成的一個順號

2004-12-31 16:49:13 神王(375867424)
這個筆記在那里

2004-12-31 16:49:22 /:>D10.天地弦(185511468)
procedure TMLRDataModule.RemoteDataModuleCreate(Sender: TObject);
begin
? FThreadID := dkHandle.NewHandle; //為每個客戶端創建一個Handle

? CurrentUser := TUser.Create(FThreadID); //創建用戶類
? TUsers.Users.Add(CurrentUser); //添加至用戶列表

? TRemoteDataModules.ItSelf.Add(Self); //添加當前模塊到列表

? FModels := TModels.Create(false);?? //自己負責釋放對象

? FService := TFrameworkService.Create(FModels, ID); //創建當前service;
? TFrameworkServices.ItSelf.Add(FService);?????????? //添加到框架集里面,
end;

2004-12-31 16:49:30 /:>D10.天地弦(185511468)
? FThreadID := dkHandle.NewHandle; //為每個客戶端創建一個Handle

2004-12-31 16:49:31 乾隆(7891551)
ID是不是就是連接到中間層的時候給每個連接排的序號

2004-12-31 16:49:35 /:>D10.天地弦(185511468)
看到這一句沒有

2004-12-31 16:49:40 /:>D10.天地弦(185511468)

2004-12-31 16:49:44 D3天之痕若虹(86278566)
看到了

2004-12-31 16:49:50 /:>D10.天地弦(185511468)
乾隆,對的,你明了

2004-12-31 16:50:13 /:>D10.天地弦(185511468)
這個編號是為了方便查找

2004-12-31 16:50:24 A3.武稀松(42088303)
D10的ID根據什么創建的

2004-12-31 16:50:26 乾隆(7891551)
天啊,你們把類玩的太熟悉了,[:'(]

2004-12-31 16:50:46 /:>D10.天地弦(185511468)
是累加器,3哥

2004-12-31 16:50:48?? 冷俊(76437853)
為什么?唉 后面的聽不懂了 有點迷茫了 我先工作了 一會在來看記錄 今天的講義整理了一半

2004-12-31 16:50:57 /:>D10.天地弦(185511468)
呵呵

2004-12-31 16:51:12 /:>D10.天地弦(185511468)
每創建一次就累加一次

2004-12-31 16:51:17 A3.武稀松(42088303)
我們使用的是GUID轉化成字符串做唯一的ID的.呵呵

2004-12-31 16:51:23 A1.Aleyn.wu(45198124)
慢慢來,就會聽懂了。

2004-12-31 16:51:36 神王(375867424)
我也是,中間掉了一些,跟不上了

2004-12-31 16:51:39 A1.Aleyn.wu(45198124)
就象D10,不用很久就學會了。

2004-12-31 16:51:44 /:>D10.天地弦(185511468)
呵呵,我開始也是這樣考慮,

2004-12-31 16:51:49 乾隆(7891551)
我要堅持聽下來

2004-12-31 16:51:51 C9. 隨風飄(87450854)
INC(ID)?

2004-12-31 16:52:07 /:>D10.天地弦(185511468)
你看看dkHandle.newhandle

2004-12-31 16:52:10 /:>D10.天地弦(185511468)
C9

2004-12-31 16:52:11 A1.Aleyn.wu(45198124)
42088303(A3.武稀松) 16:51:17
我們使用的是GUID轉化成字符串做唯一的ID的.呵呵
<-和我做的一樣。

2004-12-31 16:52:28 A1.Aleyn.wu(45198124)
不過GUID是32位的,我的是16位的。

2004-12-31 16:52:31 D3天之痕若虹(86278566)
function NewHandle: Cardinal;
begin
? id := id + 1;
? result := id;
end;

2004-12-31 16:52:35 /:>D10.天地弦(185511468)
[:L]

2004-12-31 16:52:44 C9. 隨風飄(87450854)
OK 看看先?

2004-12-31 16:52:51 /:>D10.天地弦(185511468)
呵呵,只是累加,和生成GUID也是一樣的

2004-12-31 16:52:54 C9. 隨風飄(87450854)
剛掉了線

2004-12-31 16:52:59 /:>D10.天地弦(185511468)
好了,繼續

2004-12-31 16:53:01 D3天之痕若虹(86278566)
看個人用法習慣

2004-12-31 16:53:06 A3.武稀松(42088303)
A1的16位怎么搞得

2004-12-31 16:53:43 A3.武稀松(42088303)
D10繼續啊

2004-12-31 16:53:53 /:>D10.天地弦(185511468)
框架為每個客戶端連結維護了一個TFrameworkService,FModels: TModels; //為該客戶端維護的模塊列表

2004-12-31 16:54:02 /:>D10.天地弦(185511468)
繼續

2004-12-31 16:54:08 /:>D10.天地弦(185511468)
框架為每個客戶端連結維護了一個TFrameworkService,FModels: TModels; //為該客戶端維護的模塊列表

2004-12-31 16:54:17 /:>D10.天地弦(185511468)
先理解這一句

2004-12-31 16:54:29?? 冷俊(76437853)
舍不得走啊 我還是繼續聽課吧

2004-12-31 16:54:40 /:>D10.天地弦(185511468)
呵呵,慢慢聽

2004-12-31 16:54:50 /:>D10.天地弦(185511468)
我講得也很慢

2004-12-31 16:54:55 神王(375867424)
我也一樣,什么事也不做

2004-12-31 16:54:59 神王(375867424)
聽課

2004-12-31 16:55:09 /:>D10.天地弦(185511468)
明了上面那句沒有?

2004-12-31 16:55:12 D3天之痕若虹(86278566)
FModels: TModels; //為該客戶端維護的模塊列表
??? FService: TFrameworkService;
??? FThreadID: Cardinal;
??? CurrentUser: TUser;
---------------
對ClientX的管理

2004-12-31 16:55:23 hellfire(149902352)
我也上WC都沒時間

2004-12-31 16:56:03 /:>D10.天地弦(185511468)
CurrentUser: TUser;還沒有具體來實現,可以保存當前客戶端登陸的一些信息

2004-12-31 16:56:28 /:>D10.天地弦(185511468)
選取的帳套

2004-12-31 16:56:53 D3天之痕若虹(86278566)

?

2004-12-31 16:57:17 乾隆(7891551)
為該客戶端維護的模塊列表 ?有什么具體作用啊

2004-12-31 16:57:18 /:>D10.天地弦(185511468)
框架為每個客戶端連結維護了一個TFrameworkService,FModels: TModels;
大伙要記住這一句

2004-12-31 16:57:49 西門吹風㊣(48542332)
這句對吧
?FModels := TModels.Create(false);?? //自己負責釋放對象?

2004-12-31 16:57:56 /:>D10.天地弦(185511468)

2004-12-31 16:58:03 /:>D10.天地弦(185511468)
好我們繼續

2004-12-31 16:58:26 乾隆(7891551)
框架為每個客戶端連結維護了一個TFrameworkService,FModels: TModels;
這句再說下

2004-12-31 16:58:30 /:>D10.天地弦(185511468)
看看
procedure TMLRDataModule.RemoteDataModuleCreate(Sender: TObject);
begin
? FThreadID := dkHandle.NewHandle; //為每個客戶端創建一個Handle

? CurrentUser := TUser.Create(FThreadID); //創建用戶類
? TUsers.Users.Add(CurrentUser); //添加至用戶列表

? TRemoteDataModules.ItSelf.Add(Self); //添加當前模塊到列表

? FModels := TModels.Create(false);?? //自己負責釋放對象

? FService := TFrameworkService.Create(FModels, ID); //創建當前service;
? TFrameworkServices.ItSelf.Add(FService);?????????? //添加到框架集里面,
end;
?

2004-12-31 16:58:46 D3天之痕若虹(86278566)
總框架只產生一個實現。。。。

而用戶信息,含所需模塊信息,就地.ItSelf.Add(FService);追加。。?

2004-12-31 16:59:22 D8。飄塵(43745429)
function NewHandle: Cardinal;
begin
? id := id + 1;
? result := id;
end;?

2004-12-31 16:59:27 D8。飄塵(43745429)
這里有錯呀

2004-12-31 16:59:32 D8。飄塵(43745429)
沒有獨占呀

2004-12-31 16:59:32 /:>D10.天地弦(185511468)
7891551(乾隆) 16:58:26
框架為每個客戶端連結維護了一個TFrameworkService,FModels: TModels;
這句再說下 ==>每個客戶端連結可以通過維護的這些實例來做要做的事

2004-12-31 16:59:49 /:>D10.天地弦(185511468)
43745429(D8。飄塵) 16:59:22
function NewHandle: Cardinal;
begin
? id := id + 1;
? result := id;
end;?
43745429(D8。飄塵) 16:59:27
這里有錯呀
43745429(D8。飄塵) 16:59:32
沒有獨占呀 =>

2004-12-31 16:59:54 /:>D10.天地弦(185511468)
暈,是沒有,再加

2004-12-31 17:00:09 /:>D10.天地弦(185511468)
3弟,對的

2004-12-31 17:00:10 hellfire(149902352)
加什么

2004-12-31 17:00:29 /:>D10.天地弦(185511468)
procedure TMLRDataModule.RemoteDataModuleCreate(Sender: TObject);
begin
? FThreadID := dkHandle.NewHandle; //為每個客戶端創建一個Handle
? CurrentUser := TUser.Create(FThreadID); //創建用戶類
? TUsers.Users.Add(CurrentUser); //添加至用戶列表

? TRemoteDataModules.ItSelf.Add(Self); //添加當前模塊到列表

? FModels := TModels.Create(false);?? //自己負責釋放對象

? FService := TFrameworkService.Create(FModels, ID); //創建當前service;
? TFrameworkServices.ItSelf.Add(FService);?????????? //添加到框架集里面,
end;
//看看這一段

2004-12-31 17:00:31?? 冷俊(76437853)
不要講錯啊 我很難找到的

2004-12-31 17:00:34 乾隆(7891551)
這句再說下 ==>每個客戶端連結可以通過維護的這些實例來做要做的事

再通俗點好嗎,具體維護實例怎么講。

2004-12-31 17:00:46 乾隆(7891551)
這句再說下 ==>每個客戶端連結可以通過維護的這些實例來做要做的事

再通俗點好嗎,具體維護實例怎么講。

2004-12-31 17:01:06 D3天之痕若虹(86278566)
TRemoteDataModules.ItSelf.Remove(Self);
能正確釋放對應資源嗎?

與這個比效TFrameworkServices.ItSelf.Add(FService);

2004-12-31 17:01:26 /:>D10.天地弦(185511468)
乾隆,你現在只要記住,每個客戶端連結可以通過維護的這些實例來做要做的事?

2004-12-31 17:01:31 D3天之痕若虹(86278566)
我看傳的self怪怪得[?]

2004-12-31 17:01:58 /:>D10.天地弦(185511468)
3弟,你跑快了

2004-12-31 17:02:08 D3天之痕若虹(86278566)
[;-D]

2004-12-31 17:02:21 乾隆(7891551)
好吧,就是維護具體的一個對象來實現要做的事情

2004-12-31 17:02:32 /:>D10.天地弦(185511468)
繼續

2004-12-31 17:02:45 D3天之痕若虹(86278566)
聽你的先。。。

2004-12-31 17:03:33 /:>D10.天地弦(185511468)
?1. FThreadID := dkHandle.NewHandle; //為每個客戶端創建一個Handle

?2. CurrentUser := TUser.Create(FThreadID); //創建用戶類
?3. TUsers.Users.Add(CurrentUser); //添加至用戶列表

?4. TRemoteDataModules.ItSelf.Add(Self); //添加當前模塊到列表

?5. FModels := TModels.Create(false);?? //自己負責釋放對象

?6. FService := TFrameworkService.Create(FModels, ID); //創建當前service;
?7. TFrameworkServices.ItSelf.Add(FService);?????????? //添加到框架集里面,

2004-12-31 17:03:51 /:>D10.天地弦(185511468)
1句講過了

2004-12-31 17:04:10 /:>D10.天地弦(185511468)
是為每個客戶端連結產生一個編號

2004-12-31 17:04:32 /:>D10.天地弦(185511468)
2.是創建一個TUser對象,

2004-12-31 17:04:33 神王(375867424)
[ID]

2004-12-31 17:04:48 /:>D10.天地弦(185511468)
還沒有什么用,可以用來保存一些客戶端信息

2004-12-31 17:05:31 /:>D10.天地弦(185511468)
3句TUsers,和FrameworkServices一樣的了,維護的是一個列表,

2004-12-31 17:05:36 D3天之痕若虹(86278566)
恩,那就從3開始

2004-12-31 17:05:41 /:>D10.天地弦(185511468)
也使用了單件模式

2004-12-31 17:05:50 乾隆(7891551)
procedure TMLRDataModule.RemoteDataModuleCreate(Sender: TObject);這個應該叫方法?
是在哪里定義的是中間層里嗎

2004-12-31 17:05:58 /:>D10.天地弦(185511468)
2,3還有待完shan

2004-12-31 17:06:05 /:>D10.天地弦(185511468)
是的

2004-12-31 17:06:17 /:>D10.天地弦(185511468)
是建立的時候的事件

2004-12-31 17:06:25 D3天之痕若虹(86278566)
TRemoteDataModules.ItSelf.Add(Self); //添加當前模塊到列表
?TFrameworkServices.ItSelf.Add(FService);?????????? //添加到框架集里面,
這是不是維護了兩份client信息。。。

2004-12-31 17:06:40 /:>D10.天地弦(185511468)
不是

2004-12-31 17:06:42 D3天之痕若虹(86278566)
如果信成地同一個會不會更好管理呢

2004-12-31 17:06:52 /:>D10.天地弦(185511468)
3. TRemoteDataModules.ItSelf.Add(Self); //添加當前模塊到列表

2004-12-31 17:06:54? 尋歡(42477914)
今天什么主題?[?]

2004-12-31 17:06:59 /:>D10.天地弦(185511468)
?4. TRemoteDataModules.ItSelf.Add(Self); //添加當前模塊到列表

2004-12-31 17:07:03 /:>D10.天地弦(185511468)
這個

2004-12-31 17:07:15 神王(375867424)
3,4好好講講

2004-12-31 17:07:22 /:>D10.天地弦(185511468)
這個還沒有什么用,后來發現好像不用,也可以

2004-12-31 17:07:26 乾隆(7891551)
procedure TMLRDataModule.RemoteDataModuleCreate(Sender: TObject);這個該叫什么模塊,中間層的總調度?

2004-12-31 17:07:38 /:>D10.天地弦(185511468)
TRemoteDataModules是自己定義的一個類

2004-12-31 17:07:40?? 冷俊(76437853)
[:>]D10.天地弦(185511468) 17:06:17
是建立的時候的事件

什么意思?

2004-12-31 17:07:58 A3.武稀松(42088303)
185511468([:>]D10.天地弦) 17:07:22
這個還沒有什么用,后來發現好像不用,也可以
-----------
半句話

2004-12-31 17:08:14 /:>D10.天地弦(185511468)
[:L]

2004-12-31 17:08:15 A1.Aleyn.wu(45198124)
[:D]

2004-12-31 17:08:34 /:>D10.天地弦(185511468)
?4. TRemoteDataModules.ItSelf.Add(Self); //添加當前模塊到列表
這個還沒有什么用,后來發現好像不用這樣也可以?

2004-12-31 17:08:38?? 冷俊(76437853)
我剛發的也是半句

2004-12-31 17:08:46 A3.武稀松(42088303)
[:D]

2004-12-31 17:09:05 /:>D10.天地弦(185511468)
procedure TMLRDataModule.RemoteDataModuleCreate(Sender: TObject)
這個函數發生在什么時候有人不明嗎?

2004-12-31 17:09:07 江畔綠舟(8128584)
DELPHI對象可以序列化嗎?

2004-12-31 17:09:09 神王(375867424)
是為了維護每一個功能模用對嗎

2004-12-31 17:09:27 /:>D10.天地弦(185511468)
procedure TMLRDataModule.RemoteDataModuleCreate(Sender: TObject)
這個函數發生在什么時候有人不明嗎?

2004-12-31 17:09:32 hellfire(149902352)
不就是OnCreate事件嗎

2004-12-31 17:09:39? 尋歡(42477914)
呵呵

2004-12-31 17:09:44 D3天之痕若虹(86278566)
知到呀

2004-12-31 17:09:46 神王(375867424)
這個回頭告訴,

2004-12-31 17:09:46 /:>D10.天地弦(185511468)
是,但是陛下好像不知道

2004-12-31 17:09:56 hellfire(149902352)
早明白了

2004-12-31 17:10:00 西門吹風㊣(48542332)
陛下?

2004-12-31 17:10:01 神王(375867424)
接著說A3問的問題

2004-12-31 17:10:01 乾隆(7891551)
是發生在中間層用來維護其他模塊的吧

2004-12-31 17:10:03 C9. 隨風飄(87450854)
RemoteDataModule ON CREATE

2004-12-31 17:10:06 乾隆(7891551)
告訴我啊

2004-12-31 17:10:15 /:>D10.天地弦(185511468)
事件就是當什么時候,要做的事

2004-12-31 17:10:38 /:>D10.天地弦(185511468)
陛下就是干隆

2004-12-31 17:10:43 /:>D10.天地弦(185511468)
只是陛下好打一點

2004-12-31 17:10:47 神王(375867424)
接著講

2004-12-31 17:10:59?? 冷俊(76437853)
暈暈 好好講啊

2004-12-31 17:11:01 乾隆(7891551)
RemoteDataModuleCreate這是該類的個事件啊[:$]

2004-12-31 17:11:04 /:>D10.天地弦(185511468)
乾隆掉隊了,你們等等,我拿一把

2004-12-31 17:11:33 乾隆(7891551)
就是,得照顧老弱者

2004-12-31 17:11:39 C9. 隨風飄(87450854)
我暈

2004-12-31 17:11:47 西門吹風㊣(48542332)
陛下:是數據模組建立時候的事件

2004-12-31 17:11:49 神王(375867424)
時間有限嗎

2004-12-31 17:12:04 /:>D10.天地弦(185511468)
TMLRDataModule什么時候會創建實例

2004-12-31 17:12:06 C9. 隨風飄(87450854)
我還沒怎么接觸這些思想

2004-12-31 17:12:18?? 冷俊(76437853)
不知道

2004-12-31 17:12:28 /:>D10.天地弦(185511468)
講不完以后再開

2004-12-31 17:13:01 /:>D10.天地弦(185511468)
TMLRDataModule什么時候會創建實例 ,乾隆你明不?

2004-12-31 17:13:20 /:>D10.天地弦(185511468)
西門,你告訴他們兩個

2004-12-31 17:13:31 神王(375867424)
48542332(西門吹風㊣) 17:11:47
陛下:是數據模組建立時候的事件?

2004-12-31 17:13:32 西門吹風㊣(48542332)
客戶端 ProcessData的時候

2004-12-31 17:13:45 /:>D10.天地弦(185511468)
不是哦
?

2004-12-31 17:14:02 /:>D10.天地弦(185511468)
是客戶端和中間層第一次連結的時候

2004-12-31 17:14:15 乾隆(7891551)
我掉線了[:'(]

2004-12-31 17:14:19 /:>D10.天地弦(185511468)
會創建一個TMLRDataModule實例

2004-12-31 17:14:26 /:>D10.天地弦(185511468)
[:L]暈

2004-12-31 17:14:32 /:>D10.天地弦(185511468)
TMLRDataModule什么時候會創建實例 ,乾隆你明不??

2004-12-31 17:14:43 /:>D10.天地弦(185511468)
是客戶端和中間層第一次連結的時候
會創建一個TMLRDataModule實例?

2004-12-31 17:14:44 西門吹風㊣(48542332)
對,我搞錯了,中間層運行的時候就create

2004-12-31 17:15:09 /:>D10.天地弦(185511468)
TMLRDataModule的實例是每個客戶端一份實例

2004-12-31 17:15:11 乾隆(7891551)
哦,我知道了

2004-12-31 17:15:41 /:>D10.天地弦(185511468)
??? procedure RemoteDataModuleCreate(Sender: TObject);
這個事件是這個實例創建的時候發生的事件

2004-12-31 17:15:48 /:>D10.天地弦(185511468)
冷jun明不?

2004-12-31 17:16:01 /:>D10.天地弦(185511468)
這個事件就是ONCreate事件了

2004-12-31 17:16:07 D12.阿凱(107125961)
哈哈

2004-12-31 17:16:10 D12.阿凱(107125961)
明白

2004-12-31 17:16:15 /:>D10.天地弦(185511468)
在Create創建的時候發件的事件

2004-12-31 17:16:29 /:>D10.天地弦(185511468)
陛下,知道了不?

2004-12-31 17:16:35 神王(375867424)
阿兄半路出來也明白

2004-12-31 17:16:46?? 冷俊(76437853)
我在品? 繼續 謝謝

2004-12-31 17:16:57 乾隆(7891551)
哦就是當客戶端和中間層第一次連結的時候,就觸發中間層的RemoteDataModuleCreate事件,
做那堆初始化,維護工作了

2004-12-31 17:17:00 神王(375867424)
我中間掉了一些,后面我都>>>

2004-12-31 17:17:01 D12.阿凱(107125961)
哈哈,我邊開會邊看

2004-12-31 17:17:02 /:>D10.天地弦(185511468)
好了,今天講到這里吧

2004-12-31 17:17:25 /:>D10.天地弦(185511468)
下次再找個時間繼續

2004-12-31 17:17:37 hellfire(149902352)
什么時候

2004-12-31 17:17:44? 尋歡(42477914)
群主真是辛苦!

2004-12-31 17:17:45 /:>D10.天地弦(185511468)
待通知

轉載于:https://www.cnblogs.com/DKSoft/articles/85708.html

總結

以上是生活随笔為你收集整理的主题:的中间层框架 第一节的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久久久久久99 | 亚洲涩涩色 | 国产精品久久99精品毛片三a | 国产黄色av | www.天天干 | 在线精品观看 | 亚洲综合激情网 | wwwwwww黄| 久久久久夜色 | 久久只精品99品免费久23小说 | 精品久久久久久久久久久久久久久久久久 | 日韩免费电影一区二区 | 精品999 | 日本久久久精品视频 | 人人狠狠| 狠狠色丁香婷婷综合最新地址 | 国产日产在线观看 | 久久福利影视 | 亚洲 欧美变态 另类 综合 | 国产一线二线三线性视频 | 成人黄大片视频在线观看 | 中文字幕网站视频在线 | 久久国产精品免费看 | 天天操天天射天天 | 国产99中文字幕 | 久久激情精品 | 欧美精品久久久久性色 | 色爽网站 | 成人国产精品免费观看 | 久久国产香蕉视频 | 国产精品美女久久久久久久网站 | av天天澡天天爽天天av | 波多野结衣理论片 | 男女啪啪视屏 | 免费日韩高清 | 四虎亚洲精品 | 国产精品一区在线观看你懂的 | 日韩欧美综合在线视频 | 日韩一级理论片 | 一区二区三区在线播放 | 五月视频| 久久久久久久久久久影院 | 久草精品在线观看 | 97国产精品一区二区 | 精品在线二区 | 久久网站av | 久久激情日本aⅴ | 日韩中文字幕a | 国产99在线免费 | 偷拍精偷拍精品欧洲亚洲网站 | 伊人婷婷网 | 免费日韩 精品中文字幕视频在线 | 男女男视频| 久久精品3 | 91在线免费看片 | 日韩精品一二三 | 三级黄色理论片 | 久久久久久美女 | 成年人黄色在线观看 | 欧美午夜精品久久久久 | 二区三区毛片 | 香蕉手机在线 | 黄色毛片一级片 | www.久久成人| 欧美性超爽 | 91麻豆精品国产 | 亚洲黄色一级视频 | 亚洲国产免费av | 在线91视频| www.久久久 | 免费看污网站 | 国产伦理久久 | 99久久久国产精品免费99 | 午夜精品福利一区二区三区蜜桃 | 欧美精品久久久久久久亚洲调教 | 国内小视频在线观看 | 亚洲一区二区高潮无套美女 | 日韩欧美高清一区二区 | www.日韩免费 | 99国产成+人+综合+亚洲 欧美 | 日韩女同av | 久久久91精品国产一区二区精品 | 欧美 日韩 国产 中文字幕 | 国产欧美三级 | 国产啊v在线观看 | 91av在线不卡 | 国产午夜亚洲精品 | 国产小视频在线免费观看 | 中文字幕永久免费 | 五月激情天| 亚洲伊人网在线观看 | 日韩免费电影网站 | 亚洲最大的av网站 | 在线免费av电影 | 天天操天天射天天舔 | 在线观看国产成人av片 | 色久五月| 中文字幕视频一区 | 97在线免费观看 | 国产最新视频在线观看 | 欧美综合干 | 免费看久久 | 99精品免费久久久久久日本 | 天天天天色射综合 | 久久精品视频18 | 成人在线观看网址 | 婷婷久月 | 日日碰狠狠添天天爽超碰97久久 | 久久久受www免费人成 | 成人污视频在线观看 | 在线亚洲成人 | 91九色丨porny丨丰满6 | 国产精品久久久久久久久久三级 | 黄色福利网站 | 国产高清免费视频 | 97人人添人澡人人爽超碰动图 | 国产高清在线不卡 | 国产性天天综合网 | 久久成人黄色 | 成人一级影视 | 国产精品久久久久av福利动漫 | 久久久久国产成人免费精品免费 | 2022久久国产露脸精品国产 | 婷婷亚洲综合五月天小说 | 精品久久1 | 天天综合天天做天天综合 | 中文字幕在线观看免费高清完整版 | 国产一二三四在线观看视频 | 在线观看完整版免费 | 天天操天天射天天 | av手机在线播放 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 色五月色开心色婷婷色丁香 | 欧美一区二区免费在线观看 | 成年人三级网站 | 亚洲欧洲一区二区在线观看 | 96亚洲精品久久久蜜桃 | 成人影片在线播放 | 黄影院 | 亚洲精品tv久久久久久久久久 | 在线黄网站 | 国内外成人在线视频 | 日本天天色 | 色视频在线观看免费 | 日本bbbb摸bbbb | www.玖玖玖| 久久精品一二三区白丝高潮 | 久草亚洲视频 | 精品主播网红福利资源观看 | 久久无码精品一区二区三区 | 亚洲国产视频a | 欧美日韩aa | 成年人电影免费在线观看 | 少妇bbb搡bbbb搡bbbb | 国产一级免费在线 | 五月天久久久久久 | 国产亚洲精品女人久久久久久 | 国产一二三区av | 国产不卡在线视频 | 天天人人综合 | 视频一区二区视频 | 中文字幕最新精品 | 中文字幕在线视频国产 | 日日爽天天操 | 免费视频97 | 午夜精品福利在线 | 久久激情视频网 | 五月天六月丁香 | 精品人人人人 | 欧美日韩免费在线观看视频 | 免费精品人在线二线三线 | 国产成人精品在线观看 | 亚洲一区二区三区91 | 99se视频在线观看 | 91久久精品一区二区三区 | 97电影网手机版 | 亚洲全部视频 | 欧美久久久久久久久久久久久 | 中文字幕日韩av | 久久麻豆视频 | 国产精品 日韩精品 | 又黄又爽又色无遮挡免费 | 9久久精品 | 丁香五月亚洲综合在线 | 一区二区三区在线免费播放 | 国产精品12 | 91最新地址永久入口 | 久久久久国产一区二区三区四区 | 一区二区三区电影大全 | 亚洲国内在线 | 免费a网站 | 成人小视频在线 | 91免费看黄| 亚洲午夜激情网 | 成 人 黄 色 片 在线播放 | 少妇bbb | 亚州精品视频 | 久久99国产精品自在自在app | 国产一区二区久久 | 日本在线观看中文字幕无线观看 | 在线国产视频 | 在线免费观看国产黄色 | 国产精品高清在线观看 | 成人精品一区二区三区电影免费 | 国产成人久久av免费高清密臂 | 日韩色综合网 | 欧美另类交人妖 | aaa毛片视频 | 国产午夜精品视频 | 午夜美女视频 | 在线观看一区视频 | 友田真希av| 蜜臀av夜夜澡人人爽人人桃色 | 精品国产91亚洲一区二区三区www | 9在线观看免费高清完整版在线观看明 | 狠狠狠狠狠狠狠狠 | 黄色小说视频网站 | 免费福利在线播放 | 国产精品18videosex性欧美 | 国产成人精品久久 | 伊人久在线 | 黄色av成人在线 | 欧美日韩首页 | www激情久久 | 日韩av免费观看网站 | 欧美日韩电影在线播放 | 91麻豆精品一区二区三区 | 在线观看免费视频你懂的 | 亚洲精品一区二区在线观看 | 日韩欧美一区二区在线播放 | 五月宗合网 | 欧美日韩1区 | 在线精品视频免费播放 | 久久婷婷国产色一区二区三区 | 一区二区三区韩国免费中文网站 | 五月婷综合 | 国产综合精品久久 | 欧美精品一二 | 五月婷婷av在线 | 免费福利片2019潦草影视午夜 | 日韩四虎| 成年人国产视频 | 最新成人av | a级黄色片视频 | 黄色aaaaa| 国产99久久九九精品免费 | 亚洲综合激情五月 | 久久综合之合合综合久久 | 国产精品高潮呻吟久久av无 | 成人试看120秒 | 国产精品久久久久久久久久三级 | 色婷婷啪啪免费在线电影观看 | 久久久久免费精品视频 | 国产精品大片免费观看 | 免费色视频网站 | 激情网五月天 | 久久久国产精品人人片99精片欧美一 | 亚洲有 在线 | 亚洲视频在线免费看 | 久久精品久久久久 | 国产精品久久久久久久午夜片 | 国产精品久久久av | 天堂在线视频中文网 | 午夜视频日本 | 黄色福利网 | 69xxxx欧美| 日韩久久精品一区二区 | 日韩免费看视频 | 国产五十路毛片 | 一区二区三区电影在线播 | 婷婷色狠狠 | 91精品视频一区 | 成人av一区二区在线观看 | 色婷婷欧美 | 亚洲动漫在线观看 | 国产精品久久久久久久久毛片 | 日韩欧美观看 | 国产区网址| 高清美女视频 | 亚洲狠狠| 国产麻豆精品传媒av国产下载 | 欧美一区在线看 | 亚洲精选在线观看 | 久久一视频 | 一级黄色电影网站 | 亚洲综合在线观看视频 | 日本丰满少妇免费一区 | 国产日韩中文字幕在线 | 亚洲高清不卡av | 国产无套精品久久久久久 | 国产精选在线观看 | 中文字幕欧美日韩va免费视频 | 国产精品资源在线 | 国产免费观看视频 | 日韩av伦理片 | 欧美激情视频在线观看免费 | 色欧美成人精品a∨在线观看 | 视频在线亚洲 | 亚洲精选视频免费看 | 久艹视频免费观看 | 精品影院一区二区久久久 | 精品视频网站 | 亚洲精品视频一 | 亚洲激情网站免费观看 | 久久国内视频 | 欧美高清视频不卡网 | 视频在线播放国产 | 在线观看91视频 | 久草观看视频 | 网址你懂的在线观看 | 免费h视频 | 免费毛片一区二区三区久久久 | 日本在线精品视频 | 免费情趣视频 | 日韩午夜小视频 | 久久色中文字幕 | 色多多污污在线观看 | 黄色大全免费网站 | 欧美 亚洲 另类 激情 另类 | 久久成人欧美 | 国产麻豆视频免费观看 | 久草网视频在线观看 | 九九色在线观看 | 国产小视频在线观看免费 | 激情影院在线观看 | 99久久精品免费看国产免费软件 | 欧美a级一区二区 | 久久夜夜操 | 九九热视频在线播放 | 国产裸体永久免费视频网站 | 91av在线视频播放 | a√国产免费a | 天天干 夜夜操 | 亚洲最新av网址 | 日日夜夜亚洲 | 92av视频 | 成人99免费视频 | 久久精品久久99精品久久 | 日韩精品中文字幕在线观看 | 五月婷婷在线视频 | 黄色tv视频 | 伊人伊成久久人综合网站 | 亚a在线 | 综合天堂av久久久久久久 | 国产美女无遮挡永久免费 | 国产午夜三级一区二区三桃花影视 | 91九色视频在线播放 | 91看毛片| 国产精品久久99综合免费观看尤物 | 欧美性做爰猛烈叫床潮 | 欧美一区二区三区四区夜夜大片 | 久草精品视频在线看网站免费 | 日韩mv欧美mv国产精品 | 在线观看国产永久免费视频 | 日韩欧美在线视频一区二区三区 | 成人一区二区三区中文字幕 | 久久国产精品一二三区 | 日日干天天| 高清av免费观看 | 亚洲永久免费av | 国产在线v| 在线播放视频一区 | 欧美一级视频在线观看 | 色在线视频网 | 亚洲一区二区三区91 | 日韩欧美视频一区二区 | 精品国产乱码久久久久久浪潮 | 天天操天天干天天综合网 | 久久久久久久久久久久久影院 | 成年人国产精品 | 亚洲综合少妇 | 日韩免费电影一区二区 | 特级毛片在线免费观看 | 日韩在线免费高清视频 | 999一区二区三区 | 中文字幕免费一区 | 精品黄色在线观看 | 国产精品久久久久毛片大屁完整版 | 激情亚洲综合在线 | 国产精品乱看 | 国产手机视频精品 | 国产一级91 | 999久久久久久 | 亚洲情婷婷 | 99久久精品国产观看 | 久草在线免费看视频 | 精壮的侍卫呻吟h | 美女视频黄是免费的 | 国产看片 色 | 91成人在线网站 | 国产精品va | 久久精品99国产精品亚洲最刺激 | 久久精品免费观看 | 91天天操| www.色爱| 精品福利网站 | 欧美日韩色婷婷 | 91九色免费视频 | 五月天堂网 | 国产精品国产三级国产aⅴ无密码 | 插插插色综合 | 成人免费在线观看电影 | 三级在线视频观看 | 国产 在线观看 | 久久视精品 | 色婷婷av在线 | 中文字幕在线观看91 | 亚洲综合一区二区精品导航 | 日韩va在线观看 | 91色视频 | 九九爱免费视频在线观看 | 亚洲aⅴ乱码精品成人区 | 91九色视频在线观看 | 狠狠操狠狠干天天操 | 国产一区二区三区在线免费观看 | 97精品伊人| 国产日韩精品一区二区在线观看播放 | 六月丁香综合网 | 激情视频在线高清看 | 玖玖玖在线观看 | 91九色视频 | 天天射射天天 | 国产999精品久久久久久麻豆 | 激情在线五月天 | 午夜在线看 | 天无日天天操天天干 | 日韩免费一级电影 | 五月天激情婷婷 | 99视频在线 | 欧美一级视频免费 | 婷婷播播网 | 美女免费视频网站 | 在线免费黄色av | 一区二区三区日韩视频在线观看 | 久久66热这里只有精品 | 99久久夜色精品国产亚洲 | 日本大片免费观看在线 | 欧美成年网站 | 日韩一区二区三区观看 | 精品久久久久国产免费第一页 | 日本黄色特级片 | 亚洲精品免费在线视频 | 99视频久久 | h文在线观看免费 | 92精品国产成人观看免费 | 99re6热在线精品视频 | 欧美美女视频在线观看 | 国产成人一区三区 | 国产一区二区三区在线免费观看 | 色综合久久久久久中文网 | 久草在线手机观看 | 国产精品嫩草影院123 | 婷婷六月天丁香 | 久久a v视频 | 久久精品免费观看 | 日韩动态视频 | 成人免费看片98欧美 | 人人涩| 免费观看十分钟 | 国产精品一区二区三区在线看 | 91香蕉视频黄色 | 亚洲综合婷婷 | 丁香综合激情 | 日韩av电影免费在线观看 | 国产视频九色蝌蚪 | 一区二区中文字幕在线观看 | 国产麻豆剧传媒免费观看 | 在线精品亚洲一区二区 | 日韩成人精品一区二区三区 | 国产精品久久久久久久久久久杏吧 | 日日干网址 | 国产美女主播精品一区二区三区 | 97国产情侣爱久久免费观看 | 国产成人精品一区二 | 久草久草在线 | 综合久久精品 | 欧美伦理一区 | 偷拍精偷拍精品欧洲亚洲网站 | 中文字幕制服丝袜av久久 | 亚洲精品国产精品国 | 高清免费av在线 | 中文字幕成人在线观看 | 500部大龄熟乱视频使用方法 | 在线观看久久 | 麻豆视频国产在线观看 | 日日摸日日爽 | 国产高清在线观看 | 久久99国产精品免费网站 | 伊人网av| 99热这里精品 | 天天爽综合网 | 99日韩精品 | 91手机视频 | 公开超碰在线 | 亚洲涩涩涩涩涩涩 | 久久国产影视 | 亚洲国产日韩一区 | 97精品欧美91久久久久久 | 中文字幕日本特黄aa毛片 | 亚洲黄色区 | 国产成在线观看免费视频 | 国产免费看 | 美女网站在线免费观看 | 国内精品久久久久久久97牛牛 | 伊人婷婷 | 日韩中文幕 | 一级片视频免费观看 | 黄a在线 | 成年人三级网站 | 久久午夜影视 | 欧美激情精品久久久久久免费 | 国产综合福利在线 | 国产精品免费小视频 | 一区二区三区福利 | 国产一区二区午夜 | 日日天天| 91精品免费在线 | av中文字幕剧情 | 国产成人高清 | 人人射| 欧美日韩三级 | 国偷自产中文字幕亚洲手机在线 | 8x成人在线| 国产精品99久久99久久久二8 | 曰本三级在线 | 国产一级片播放 | 色婷婷a| 日本精品一区二区三区在线播放视频 | 亚洲综合在线观看视频 | 9999亚洲| 天堂av在线7 | 免费看黄在线观看 | 亚洲伊人色 | 99热精品国产一区二区在线观看 | 日本一区二区免费在线观看 | 综合久久精品 | 深爱激情婷婷网 | 日韩视频免费看 | 奇米四色影狠狠爱7777 | 色吊丝在线永久观看最新版本 | 永久中文字幕 | 天堂av在线免费观看 | 91成人精品一区在线播放69 | 国产精品九九久久久久久久 | 亚洲经典在线 | 精品福利网站 | 国产在线91在线电影 | 国产视频精品在线 | 五月激情久久 | 日韩欧美高清不卡 | 在线观看免费视频你懂的 | av色综合| 亚洲成人av电影 | 日韩电影在线观看一区二区三区 | 美女视频免费精品 | 久久av免费电影 | 国产精品毛片完整版 | 在线亚洲精品 | av大片网址 | 亚洲精品久久久久久久蜜桃 | 中文字幕在线观看一区 | 成人av免费电影 | 久久久久久久久久久免费av | 中文亚洲欧美日韩 | 日韩电影久久 | 欧美日韩不卡在线观看 | 狠狠久久婷婷 | 成人毛片久久 | 国产一区二区在线观看免费 | 午夜精品久久久久久久99 | 久久精品韩国 | 在线观看免费视频 | 99精品在线视频观看 | av黄免费看 | 在线久草视频 | 91免费高清视频 | 正在播放一区 | 亚洲精品久久久久久中文传媒 | 黄色网址在线播放 | 亚洲欧美日本一区二区三区 | 国产一区欧美二区 | 欧美精品视 | 五月宗合网 | 黄色aa久久 | 亚洲精品网站 | 中文字幕亚洲欧美日韩2019 | 天天操比 | 在线观看视频你懂的 | 婷婷色网址 | 毛片1000部免费看 | 精品国产一区二区三区男人吃奶 | 亚洲一区二区三区91 | 国产五月婷| 久久综合色综合88 | 国产成人精品亚洲日本在线观看 | 中文av在线免费观看 | av大全在线免费观看 | av成人免费在线看 | 天天做天天爱天天综合网 | 日本久久久影视 | 日韩电影在线看 | 婷香五月 | 国产永久免费观看 | 国产精选在线观看 | www视频在线观看 | 欧美午夜精品久久久久久孕妇 | 日韩精品久久久久久久电影竹菊 | 欧美视频日韩 | 国产成人精品电影久久久 | 亚洲成人av一区二区 | 国产国产人免费人成免费视频 | 成年人免费看av | 在线亚洲欧美日韩 | 日本护士三级少妇三级999 | 五月开心激情网 | 日韩网站在线免费观看 | 国产精品久久久久久久久蜜臀 | 婷婷丁香久久五月婷婷 | 99免费观看视频 | 中文字幕久久久精品 | 天天射天天操天天色 | 免费观看91视频大全 | 国产精品普通话 | 国产成人精品一区二区三区在线 | 91最新视频 | 亚洲精品男人天堂 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 黄色片网站大全 | 国产精品一区二区av | 亚洲 成人 一区 | 九九热只有这里有精品 | 久久免费视频在线观看30 | 99精品视频一区 | 中文字幕一区二区在线播放 | 青青河边草免费观看完整版高清 | www.色综合.com | 日韩欧美在线播放 | 亚洲九九九在线观看 | 狠狠地操 | 久久久一本精品99久久精品66 | 在线观看日韩国产 | 欧美日韩国产亚洲乱码字幕 | 日日夜夜精品免费 | 97在线免费| av 在线观看 | 国产美女久久久 | 午夜私人影院久久久久 | 美女视频黄色免费 | 国产一级视频在线 | 激情综合五月婷婷 | 精品视频www | 在线免费三级 | 嫩小bbbb摸bbb摸bbb | 99这里都是精品 | 欧美aa级 | 18女毛片| 久久久精品欧美 | 国产福利一区在线观看 | 99色视频| 免费福利片2019潦草影视午夜 | 狠狠操欧美 | 成人在线播放免费观看 | 一区二区三区在线观看免费 | 欧洲精品亚洲精品 | 免费国产视频 | 国内小视频 | 成人毛片网| 欧美在线视频日韩 | 在线黄色免费 | 日韩精品一区二区三区免费观看视频 | mm1313亚洲精品国产 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 中文字幕在线播放一区 | 日韩av中文在线 | 日韩综合一区二区三区 | 成人免费视频网站 | 国产女人40精品一区毛片视频 | 日本一区二区免费在线观看 | 九九激情视频 | 狠狠插狠狠操 | 超碰国产人人 | 狠狠精品 | 久久精品视频免费观看 | 97超碰福利久久精品 | 一级一级一片免费 | 视频二区在线视频 | 国产一区精品在线 | 在线观看久久 | 久久国产经典 | 日韩黄色一级电影 | 国产在线观看网站 | 在线看黄网站 | 欧美久久久久久 | 九九免费在线视频 | 日本视频网 | 亚洲 欧美 国产 va在线影院 | 国产一级小视频 | 999电影免费在线观看 | 日日干日日 | 一区三区视频 | 久久久人| 成人免费视频网 | 久久精选 | 在线免费三级 | 99这里只有久久精品视频 | 1024在线看片 | 国产精品中文字幕av | 91亚洲精品久久久中文字幕 | 久久久www成人免费精品 | 国产视频一区二区在线 | 91色亚洲 | 国产在线观看午夜 | 欧美一区二区日韩一区二区 | 欧美日韩国产精品爽爽 | 在线 精品 国产 | 久久精品网站视频 | 国产精品久久精品国产 | 久久欧美在线电影 | 欧美午夜理伦三级在线观看 | 国产99久久久久久免费看 | 91久久一区二区 | av网址在线播放 | 久久不射电影院 | 久久a久久 | 国产精品毛片一区二区 | 五月婷婷中文网 | 在线黄色观看 | 国产高清在线免费 | 日韩高清不卡在线 | 国产精品免费久久久久 | 美女精品久久 | 久久成人人人人精品欧 | 日本高清xxxx | 亚洲精品美女久久 | 天天爱av导航 | 波多野结衣一区三区 | 欧美a影视 | 香蕉精品在线观看 | 久久久国产网站 | 精品一区二区在线观看 | 五月婷婷影院 | 国产亚洲精品美女 | 欧美在线1 | 亚洲国产一区在线观看 | 一本一本久久a久久精品综合妖精 | 欧美一二三视频 | 日韩小视频 | 国产精品人人做人人爽人人添 | 国产不卡一二三区 | 国产精品毛片一区二区在线 | 国产精品入口久久 | 国产精品高潮呻吟久久av无 | 伊人永久 | 国产精品青草综合久久久久99 | 伊人影院得得 | 一级成人网 | 亚洲国产成人在线观看 | 五月天天av| 91少妇精拍在线播放 | 欧美在线视频一区二区三区 | 欧美日韩国产成人 | 99久久这里只有精品 | 免费在线激情电影 | 国产精品久久久久久久免费观看 | 午夜久久久久久久久 | 午夜国产一区 | 久久综合九色九九 | 色干综合 | 91精品国产成人 | 五月综合色婷婷 | 亚州性色| 国产成人av综合色 | 精品国产成人av | 国产精品永久在线观看 | 婷婷中文字幕在线观看 | 亚洲女欲精品久久久久久久18 | 国产污视频在线观看 | 国产又粗又猛又黄又爽 | 一区二区三区高清在线 | 五月婷婷视频 | 久久a国产| 国产视频亚洲视频 | 日b视频在线观看网址 | 97综合网| 久久99视频免费 | 国产特级毛片aaaaaa毛片 | 99精品黄色 | 99视 | 日日夜夜av | 69国产盗摄一区二区三区五区 | www.99av| 久热久草在线 | 香蕉久草| 日本黄色a级大片 | 国产精品一区二区三区免费看 | 国产精选在线 | 99久久婷婷国产一区二区三区 | 18国产精品福利片久久婷 | 在线播放视频一区 | 色诱亚洲精品久久久久久 | 欧美激情va永久在线播放 | 日产av在线播放 | 天天曰| 日韩在线观看一区二区三区 | 二区视频在线观看 | 97国产在线播放 | 超碰在线97国产 | 国产精品一区二区在线 | 久久精视频 | 成年人免费电影在线观看 | 日韩中文字幕视频在线观看 | 久草视频视频在线播放 | 成人午夜电影免费在线观看 | 日日夜夜天天干 | 日日夜夜网 | 成人网大片 | 片网站| 国产一区麻豆 | 在线看日韩| 99在线观看免费视频精品观看 | 国产99亚洲| av网站免费线看精品 | 激情欧美一区二区免费视频 | 国产精品久久久免费看 | 中文在线免费观看 | 九九久久在线看 | 成人a级免费视频 | 99久久久久久久 | 99久久精品国产观看 | 欧美日韩精品在线播放 | 日b视频国产 | 国产超碰97 | 成人动图 | 天天插天天爱 | 在线电影 一区 | 国产精品18p | 国产视频精选在线 | 麻豆一精品传二传媒短视频 | 少妇视频一区 | 国产精品乱码在线 | 成人黄色片免费 | 在线免费观看国产 | 黄网站免费久久 | 日韩性久久 | 久久国产亚洲视频 | 日本成人中文字幕在线观看 | 黄色在线看网站 | 三级av在线 | 天天操天天吃 | 五月天久久狠狠 | 久久久久国产一区二区三区 | 国外av在线 | 一级黄色毛片 | 久久国产剧场电影 | 欧美一二三区在线播放 | 日日日日 | www.成人精品 | 国产色婷婷| 日韩精品免费一区二区在线观看 | 色吧av色av| 亚洲三级影院 | 亚洲少妇天堂 | 国产免费又粗又猛又爽 | 特级a毛片 | 国产最顶级的黄色片在线免费观看 | 91成人在线视频观看 | 黄色小说视频在线 | 一区二区三区四区五区在线 | 婷婷丁香激情 | 在线国产精品一区 | 麻豆91精品视频 | 色诱亚洲精品久久久久久 | 最新免费中文字幕 | 一区二区 不卡 | 亚洲精品一区二区18漫画 | 射射色| 丁香综合 | 日韩中文字幕免费 | 一二三久久久 | 婷婷日韩 | 久久久91精品国产一区二区精品 | 一级特黄aaa大片在线观看 | 精品国产资源 | 中文字幕高清在线 | 国产91精品一区二区麻豆网站 | 日本xxxx裸体xxxx17 | 国产精品9999久久久久仙踪林 | 日日爱av| 亚洲精品在线免费观看视频 | 久久综合九色综合97_ 久久久 | 国产黄在线播放 | 超碰av免费 | 国产精品欧美一区二区 | 99热官网| 韩国在线一区 | 国产精品久久久一区二区 | 国产麻豆剧传媒免费观看 | 国产手机av | 婷婷在线观看视频 | 丁香综合五月 | 丁香综合av| 国产不卡在线播放 | 国产专区视频在线观看 | 婷婷丁香狠狠爱 | 午夜精品久久久久久久久久久久久久 | 中文字幕第一页av | 午夜色大片在线观看 | 最近中文字幕高清字幕免费mv | 人人干人人艹 | 天天激情综合网 | 91精品对白一区国产伦 | 国产一级在线 | 欧美一级在线观看视频 | 天天色综合久久 | 日韩电影在线看 | 久久av中文字幕片 | 日韩午夜网站 | 日韩av免费观看网站 | 91精品夜夜 | 国产一级在线 | 久久久久久美女 | 日韩av片在线 | 亚洲精品在线观看视频 | 一区二区精品久久 | 久久亚洲成人网 | 欧美国产日韩久久 | 91女人18片女毛片60分钟 | 国产精品一区免费看8c0m | 亚洲视频综合 | 国产一级特黄电影 | 在线观看视频在线 | 亚洲国产精品成人女人久久 | 亚洲精品国偷拍自产在线观看蜜桃 | 免费看的黄色小视频 | 日本精品视频在线 | 国产91九色视频 | 日韩大片在线免费观看 | 久草免费看| 激情视频在线观看网址 | 亚洲婷婷综合色高清在线 | av成年人电影 | 日本黄色免费播放 | 久久久久久综合网天天 | 一二三区视频在线 | 中文字幕在线一二 | 久久国际影院 | 国产在线观看,日本 | 黄色av大片| 日日爱网址| 亚洲国产精品人久久电影 | 免费在线观看av片 | av一级网站 | 麻豆91精品视频 | 性色va | 丝袜网站在线观看 | 国产精品婷婷午夜在线观看 | 久久草视频 | 91av观看 | 中文字幕区 | 婷婷av综合 | 91久久久久久国产精品 | 涩涩资源网 | 中文成人字幕 | 亚洲电影av在线 | 久久久久久久久久久影视 | 色99久久| 日韩电影在线观看一区二区 | 欧洲av在线 | 500部大龄熟乱视频 欧美日本三级 | 九九热只有精品 | 久久久久久久久久久综合 | 激情综合网婷婷 | 51久久夜色精品国产麻豆 | 欧美资源 | 免费在线播放 | 狠狠色伊人亚洲综合网站野外 | 久热色超碰 | 五月婷婷久 | 美女久久一区 | 91麻豆精品国产91久久久无需广告 | 亚洲情婷婷 | 99精品在线观看视频 | 久久国产精品久久精品 | 中文字幕亚洲综合久久五月天色无吗'' | 香蕉久久久久久av成人 | 97超碰成人 | 黄色免费电影网站 | 亚洲成人国产精品 | 久青草电影 | 亚洲在线日韩 | 久久国产视频网站 | 91精品综合在线观看 | 黄色一级免费 | 狠狠色狠狠色综合日日小说 | 操天天操 | 国产激情电影综合在线看 | 中文字幕免费高 | 免费观看一级一片 |