[英]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
,然后在客戶端可以直接將其分配給客戶端TClientDataSet
的Data
屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.