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

如何取得從Dll傳回之variant中的Recordset?

答題得分者是:OsX
darnell
版主


發表:25
回覆:103
積分:145
註冊:2003-03-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-19 16:34:29 IP:211.75.xxx.xxx 未訂閱
是這樣的我寫了一個DLL以下是其中的傳回部分程式碼 Result為variant型態 Result:=varArrayCreate([0,2],varVariant); Result[0]:=True; Result[1]:='6'; Result[2]:=adsGet.Recordset; 而再來是我在主程式中取得其傳回的資料 varTest:Variant; adsRecordSet:TADODataSet; varTest:=GetStart(參數A,參數B); varTest[0]--->此為True varTest[1]--->此為'6' varTest[2]--->此為adsGet.Recordset; 此時問題來了 如果我要擷取此adsGet.Recordset的資料 adsRecordset.Recordset:=varTest[2]; 1.這樣並無法通過編譯,會發生無法轉換型態,請問該如何解決? 使用adsRecordset.Recrodset:=ADODB_TLB._Rcordset(varTest[2]); 似乎也沒辦法轉換 2.因為我是使用DLL如果我在DLL結束後釋放資源是否adsGet物件 也會同時消失,而導致主程式無法取得adsGet.Recordset的資料, 請問要如何才能不讓adsGet消失?? ------------------------ 創造其實就是...... 轉個彎看世界......
OsX
版主


發表:6
回覆:151
積分:111
註冊:2003-05-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-20 10:37:34 IP:211.76.xxx.xxx 未訂閱
1.adsRecordset.Recordset:= IInterface( varTest[2] ) as _RecordSet; 2.不會, RecordSet 已經全部傳送到Client端, 釋放資源是對的.
系統時間:2024-05-04 3:57:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!