簡體   English   中英

DataSnap Server抱怨服務器方法不存在……Delphi 2010 DataSnap

[英]DataSnap Server complaining about Server Method not existing …Delphi 2010 DataSnap

我有一個具有以下Server方法的DataSnap Server:

function TServerMethods1.selectFalzUser(Usuario: string) : TDataSet;

現在,在使用TSQLServerMethod的DataSnap Client上,我成功地在設計模式下連接到服務器,提取服務器的方法列表...選擇'selectFalzUser'...,然后我可以成功地看到我的參數,既是Usuario作為INput,又是輸出TDataset參數...嘗試將我的SqlServerMethod設置為Active時...出現以下錯誤:

錯誤遠程錯誤:在服務器方法列表中找不到TServerMethods1.selectFalzUserwhereUsuario方法。

為什么Delphi將'whereUsuario'字符串附加到方法名稱上? 顯然,TServerMethods1.selectFalzUserwhereUsuario不存在。

問候

扎格里諾。

沒有看到更多代碼,很難說為什么它沒有正確報告方法名稱。 但是,聽起來您使用DataSnap並不正確。 這是我為多個項目成功完成的工作:

在DataSnap服務器中,必須在TServerMethods類定義之前包括{$METHODINFO ON} ,在類定義之后包括{$METHODINFO OFF} 然后編譯並運行您的DS服務器。

在客戶端,添加一個TSQLConnection組件並設置其屬性以連接到列表DS服務器。 然后右鍵單擊TSQLConnection然后選擇“ Generate DataSnap client classes 將其另存為ProxyMethods.pas類的ProxyMethods.pas並將其包含在客戶端項目中。 然后,您可以訪問ProxyMethods類以調用服務器中任何已發布的TServerMethods

另外,返回TDataSet不適用於我描述的方法,因為TDataSet不是可編組的數據類型,但是OleVariant是。 我已經成功地返回了TClientDataSet.Data ,然后在客戶端可以直接將其分配給客戶端TClientDataSetData屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM