【问题标题】:Delphi 10.3 MIDAS AppServer Custome ProcedureDelphi 10.3 MIDAS AppServer 客户程序
【发布时间】:2020-09-03 08:51:31
【问题描述】:

我已经创建了一个基本的 DataSnap 服务器。 文件 -> 新建 -> 其他 -> DataSnap -> DataSnap 服务器

在 DataSnap 服务器向导中,我使用了以下选项。

[x] Windows
[x] Forms Application
[x] VCL Application
[x] Protocols TCP/IP , Server Methods Class , Sample Methods
[x] TCP/IP Port 32900
[x] TDSServerModule

然后我在 ServerMethods1 中添加了一个数据库连接、一个查询和一个 DataSetProvider。

在客户端上,我添加了一个 Android 设备 DSProviderConnection1 SQLConnection1 和一个 ClientDataSet 。

这很好用。只是为了确认 DataSnap 服务器和客户端通信。

现在我想从客户端执行一个存储过程。

所以在服务器上我在 ServerMethods1 下创建了一个公共过程。

procedure DEVICE_STATUS( ID,UserName,SSID : string; SignalStrength,BatteryLevel : integer);

这显然是为了测试......

procedure TServerMethods1.DEVICE_STATUS( ID,UserName,SSID : string; SignalStrength,BatteryLevel : integer);
begin
  Form1.Edit1.Text:=ID;
end;

回到我试过的安卓手机

NEBULA.AppServer.DEVICE_STATUS('N-01','-','-',0,0);

但我收到错误 IAppServer 不包含名为 'DEVICE_STATUS' 的成员。我在这里错过了什么?

谢谢。

【问题讨论】:

  • 好像我忘记了一件很简单的事情。在 Android 客户端上。右键单击 SQLConnection1 并生成 DataSnap 客户端类.....
  • 您的意思是您找到了解决方案?如果您这样做了,请删除您的问题或输入解决方案作为答案。

标签: delphi datasnap


【解决方案1】:

解决方案:

在 Android 客户端上设置 SQLConnection 后,右键单击它并单击 Generate Datasnap Client Classes。保存单元。将此单元添加到您要执行该过程的uses子句中,然后。

procedure TMainScreen.btnStatusClick(Sender: TObject);
var
  Temp : TServerMethods1Client;
begin
  SQLConnection1.Connected:=true;

  Temp := TServerMethods1Client.Create(SQLConnection1.DBXConnection);
  try
    Temp.DEVICE_STATUS('N-01','-','-',0,0);

  finally
    Temp.Free;
  end;
end;

【讨论】:

    猜你喜欢
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    相关资源
    最近更新 更多