2013-08-26 66 views
0

我正在編寫一個實現3個接口的WebService。其中一個使用對名爲Interop.XXXOra的COM接口的引用。在Interop.XXXOra的公共接口我已經得到了功能「GetShiftReportData」和「DoEndOfShift」:從ClientDataSet中檢索值

int DoEndOfShift(string ClientKey) 
    Member of EPS30Ora.IEPS30Svr 

dynamic GetShiftReportData(string ClientKey, int ShiftNo) 
    Member of EPS30Ora.IEPS30Svr 

GetShiftReportData returs一個ClientDataSet的(DELPHI)

這是在我的web服務,其中我所說的行它:

int shift_num = svr.DoEndOfShift(inputparams.ck); 
object shift_data = svr.GetShiftReportData(inputparams.ck, shift_num); 

我沒有得到任何錯誤買我沒有得到什麼在shift_data。

我需要知道如何訪問返回的cliendataset才能將這些值發送到客戶端。

任何幫助將不勝感激。 感謝

回答

1

在你的問題(標題和最後的實質性句),你似乎是說你有,你要訪問一個「返回的ClientDataSet」。

我不知道你的客戶是什麼,但不是面向數據的接口的TClientdataSet其他,我認爲訪問TClientDataSet的數據最好的,最簡單的方法是使用SaveToStream方法。您可以以XML格式請求數據,您可以輕鬆傳輸給客戶端,客戶端可以使用任何標準庫來讀取數據。

但是,在最後一個問題的上方,你說你在shift_data中沒有任何東西。如果你沒有TClientDataSet,你顯然不能使用SaveToStream方法。

希望有所幫助。