TRemoteDataModule 可否傳送(回傳)字串資料及檔案?? |
答題得分者是:jieshu
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 請教各位前輩 TRemoteDataModule 可否傳送(回傳)字串資料及檔案?? 用 TRemoteDataModule DataSetProvider SocketConnection 來作 3-tier 資料庫系統 但在程式中也要能傳送字串資料及檔案 請教用TRemoteDataModule 可以作碼? 還是要另外用 IdTCPServer1 IdTCPClient?? 謝謝各位前輩!!當然可以, 寫個Function來呼叫即可, 不過傳檔案我只會用TBolbField, 新增一個欄位到ClientDataSet, 然後CreateDataSet, 讀入後存檔, 將ClientDataSet.Data傳到Client處理即可.
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
引言: 當然可以, 寫個Function來呼叫即可, 不過傳檔案我只會用TBolbField, 新增一個欄位到ClientDataSet, 然後CreateDataSet, 讀入後存檔, 將ClientDataSet.Data傳到Client處理即可.謝謝前輩的回覆!! --> 寫個Function來呼叫即可 這一部份如何作呢?? 我在 Server有寫一個 Function 但在,Client要如何作呢?? unit JFText1Server_; {$WARN SYMBOL_PLATFORM OFF} interface uses Windows, Messages, SysUtils, Classes, ComServ, ComObj, VCLCom, DataBkr, DBClient, ServerApp_TLB, StdVcl, DB, DBTables, Provider, ADODB; type TJFText1Server = class(TRemoteDataModule, IJFText1Server) DataSetProvider1: TDataSetProvider; DataSetProvider2: TDataSetProvider; ADOConnection1: TADOConnection; ADOTable1: TADOTable; procedure RemoteDataModuleCreate(Sender: TObject); procedure RemoteDataModuleDestroy(Sender: TObject); function aa() :string; private { Private declarations } protected class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override; public { Public declarations } end; implementation uses ServerForm_; {$R *.DFM} class procedure TJFText1Server.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); begin if Register then begin inherited UpdateRegistry(Register, ClassID, ProgID); EnableSocketTransport(ClassID); EnableWebTransport(ClassID); end else begin DisableSocketTransport(ClassID); DisableWebTransport(ClassID); inherited UpdateRegistry(Register, ClassID, ProgID); end; end; procedure TJFText1Server.RemoteDataModuleCreate(Sender: TObject); begin ServerForm.UpdateClientCount(1); end; procedure TJFText1Server.RemoteDataModuleDestroy(Sender: TObject); begin ServerForm.UpdateClientCount(-1); end; function TJFText1Server.aa() :string; begin Result:='abc'; end; initialization TComponentFactory.Create(ComServer, TJFText1Server, Class_JFText1Server, ciMultiInstance, tmApartment); end. |
||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 謝謝前輩的回覆!! --> 寫個Function來呼叫即可 這一部份如何作呢?? 我在 Server有寫一個 Function 但在,Client要如何作呢??不會寫Function沒關係, 用DataSetProvider的事件來作, 請參考底下這篇 【問題】如何做到使client無法登入server主機? http://delphi.ktop.com.tw/topic.php?topic_id=49212
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
先在服务器端的工程里: 1. Delphi的Menu:Vies/Type Library
2. 打开后,可以看到你的这个服务器端的DCOM对象的有关定义。在这里增加一个Method,定义它的Parameter。如果想传档案,可以定义一个BSTR类型的Parameter。然后Save 3. Save后,DELPHI自动在代码里帮你增加了那个Function的声明和实现部分。在实现部分写代码就行了。那个BSTR在这里就是一个WideString 4. 在客户端,直接调用它,比如:DCOMConnection1.YourFunction,就可以调用它了。
|
||
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
引言: 先在服务器端的工程里: 1. Delphi的Menu:Vies/Type Library 2. 打开后,可以看到你的这个服务器端的DCOM对象的有关定义。在这里增加一个Method,定义它的Parameter。如果想传档案,可以定义一个BSTR类型的Parameter。然后Save 3. Save后,DELPHI自动在代码里帮你增加了那个Function的声明和实现部分。在实现部分写代码就行了。那个BSTR在这里就是一个WideString 4. 在客户端,直接调用它,比如:DCOMConnection1.YourFunction,就可以调用它了。謝謝前輩回覆!! 但還有問題??請教!! Server端程式如下 procedure TJFText1Server.bbb; begin // ServerForm.UpdateClientCount(-1); end; ------------------------------------- Client端程式 JFText1Server(self.SocketConnection1.GetServer).bbb; 但執行那一行時,會產生錯誤?? 謝謝前輩!! |
||
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: Client端程式 JFText1Server(self.SocketConnection1.GetServer).bbb; 但執行那一行時,會產生錯誤?? 謝謝前輩!!有可能SocketConnection1沒有設好, 而抓不到Server, 在強制轉型下, 會出現記憶體的錯誤!!
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |