線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1860
推到 Plurk!
推到 Facebook!

有關於整個ClientDataSet傳送的問題

 
Jack0323
初階會員


發表:22
回覆:70
積分:28
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-15 17:31:20 IP:203.67.xxx.xxx 未訂閱
請問各位高手: 我有個想法,就是想從AP Server端傳送一個ClientDataSet到前端 但是ClientDataSet無法以Variant的方式傳送(不是傳送Data哦) 不知那位高手可以教一下 ClientDataSet要用什麼方式傳送到前端 而前端要如何接收這個ClientDataSet
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-15 21:47:14 IP:61.141.xxx.xxx 未訂閱
把AP Server的ClientDataset的一些主要屬性(字串啦、整形什麼的)傳過來,在AP Client上Create一個ClientDataset,再跟據傳來的屬性,設置AP Client的ClientDataset。 你看行不行?
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-15 22:11:45 IP:203.204.xxx.xxx 未訂閱
引言:我有個想法,就是想從AP Server端傳送一個ClientDataSet到前端 但是ClientDataSet無法以Variant的方式傳送(不是傳送Data哦) 不知那位高手可以教一下 ClientDataSet要用什麼方式傳送到前端 而前端要如何接收這個ClientDataSet
有什麼是需要傳整個ClientDataSet的, 應該沒有任何物件可以這樣傳吧? 頂多只能傳屬性來設置吧. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
Jack0323
初階會員


發表:22
回覆:70
積分:28
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-15 23:25:54 IP:203.67.xxx.xxx 未訂閱
感謝二位高手的相助 我的想法是 先在Server端將一些常用的ClientDataSet裡的屬性都設好 包含ClientDataSet中的所有的SQL指令,產生的TField都設好 然後前端如有需要使用到同性質的ClientDataSet時 只要呼叫後端的Function 再由後端AP Server傳回指定的ClientDataSet 如此省去每次都要建立ClientDataSet的麻煩 不知如果要達到這種做法,是否有困難
sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-16 10:26:05 IP:211.20.xxx.xxx 未訂閱
引言:先在Server端將一些常用的ClientDataSet裡的屬性都設好 包含ClientDataSet中的所有的SQL指令,產生的TField都設好 然後前端如有需要使用到同性質的ClientDataSet時 只要呼叫後端的Function 再由後端AP Server傳回指定的ClientDataSet
以你這樣的想法,是有方法可以做的 函式一:將物件的屬性資料存成字串
function ComToStr(aCom: TComponent): string;
var
  BinStream: TMemoryStream;
  StrStream: TStringStream;
  s: string;
begin
  BinStream := TMemoryStream.Create;
  try
    StrStream := TStringStream.Create(s);
    try
      BinStream.WriteComponent(aCom);
      BinStream.Seek(0, soFromBeginning);
      ObjectBinaryTotext(BinStream, StrStream);
      StrStream.Seek(0, soFromBeginning);
      Result := StrStream.DataString;
    finally
      StrStream.Free;
    end;
  finally
    BinStream.Free;
  end;
end;
函式二:將包含物件屬性資料的字串設定給一個物件
function TFMWDDCR.StrToCom(aString: string; aCom: TComponent): Boolean;
var
  StrStream: TStringStream;
  BinStream: TMemoryStream;
begin
  StrStream := TStringStream.Create(aString);
  try
    BinStream := TMemoryStream.Create;
    try
      ObjectTextToBinary(StrStream, BinStream);
      BinStream.Seek(0, soFromBeginning);
      BinStream.ReadComponent(aCom);
      Result := True;
    finally
      BinStream.Free;
    end;
  finally
    StrStream.Free;
  end;
end;
參考一下 加油喔,喵~
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-17 15:14:12 IP:203.204.xxx.xxx 未訂閱
引言: 我的想法是 先在Server端將一些常用的ClientDataSet裡的屬性都設好 包含ClientDataSet中的所有的SQL指令,產生的TField都設好 然後前端如有需要使用到同性質的ClientDataSet時 只要呼叫後端的Function 再由後端AP Server傳回指定的ClientDataSet 如此省去每次都要建立ClientDataSet的麻煩 不知如果要達到這種做法,是否有困難
您試試設在DataSetProvider的DataSet上, 他應該會傳給前端的ClientDataSet, 這是Midas的用意. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
Jack0323
初階會員


發表:22
回覆:70
積分:28
註冊:2002-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-27 11:09:04 IP:203.67.xxx.xxx 未訂閱
感謝3位大大的經驗分享 雖然還是沒有找到答案 但還是很感謝
系統時間:2024-04-26 3:03:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!