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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage