Parameter der DataSnap XE2- und TStream-Methode
Ich arbeite an einem DataSnap-Projekt in Delphi XE2 mit dem TCP / IP-Protokoll, das als Methodenparameter einen Stream von Binärdaten an den Server übergeben muss. Das Problem, auf das ich stoße, ist, dass es eine Größenbeschränkung von 32 KB für den Streaminhalt zu geben scheint. Jenseits dieser Grenze ist der auf dem Server empfangene Stream leer. Wenn ich zusätzliche Methodenparameter übergebe, kommen sie intakt an, sodass es auf der Parameterebene ein Problem zu geben scheint.
So wird die DataSnap-Serviceklasse deklariert:
TDataSnapTestClient = class(TDSAdminClient)
private
FSendDataCommand: TDBXCommand;
public
constructor Create(ADBXConnection: TDBXConnection); overload;
constructor Create(ADBXConnection: TDBXConnection; AInstanceOwner: Boolean); overload;
destructor Destroy; override;
procedure SendData(Data: TStream);
end;
Der Ansatz, den ich benutze, sollte funktionieren, zumindest gemäß dem Artikel von Jim Tierney. Allerdings hat es seit Delphi 2009 offenbar Änderungen gegeben, die Jim Tierneys Beispielcode beschädigt haben.
DataSnap Server-Methoden-Stream-Parameter
Alle Ideen zur Behebung dieses Problems werden sehr geschätzt.