Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   DataSnap y TDSTunnelSession (https://www.clubdelphi.com/foros/showthread.php?t=95407)

Manu_Rx 23-09-2021 17:19:33

DataSnap y TDSTunnelSession
 
Buenas tardes.

Tengo un programa que a través del componente TDSClientCallBackChannelManager gestiona unos mensajes a través de un servidor DATASNAP. Quiero hacerlo para ANDROID e IOS, y el primer problema es que me dice en el Uses que DataSnap.DsSession no existe en ANDROID y supongo que tampoco en IOS. Alguna respuesta.

Gracias

En la zona de Interface utilizo:
Código Delphi [-]
type
  TMyCallback = class(TDBXCallback)
  public
    function Execute(const Arg: TJSONValue): TJSONValue; override;
  end;

Ya en Implementación la funcion es:
Código Delphi [-]
function TMyCallback.Execute(const Arg: TJSONValue): TJSONValue;
begin
  PanelForm.QueueLogMsg(Arg.ToString);
  Result := TJSONTrue.Create;
end;

Después de conectar con el Servidor de DataSnap, se utiliza estas instrucciones que las tengo en el FormShow:

Código Delphi [-]
DSClientCallbackChannelManager1.ManagerId := TDSTunnelSession.GenerateSessionId;
  FMyCallbackName                           := TDSTunnelSession.GenerateSessionId;
  DSClientCallbackChannelManager1.RegisterCallback(FMyCallbackName,TMyCallback.Create);
  LocalClientId   := DSClientCallbackChannelManager1.ManagerId;

  LocalCallbackId := FMyCallbackName;

A DataSnap.DsSession pertenece TDSTunnelSession.

Funciona bien en Windows, pero en ANDROID me dice que no existe esa libreria.

Manu_Rx 23-09-2021 18:30:52

Solucionado
 
Tras hacer pruebas, esto funciona para ANDROID:

Código Delphi [-]
 DSClientCallbackChannelManager1.ManagerId := TDSSessionHelper.GenerateSessionId; 
  FMyCallbackName                           := TDSSessionHelper.GenerateSessionId;

Hace lo mismo, pero en vez de depender de DataSnap.DSSession, que no soporta ANDROID, depende de Datasnap.DSCommon que no presenta problema.


La franja horaria es GMT +2. Ahora son las 14:02:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi