Einzelnen Beitrag anzeigen

Piethan

Registriert seit: 2. Jun 2008
Ort: Köln
43 Beiträge
 
Delphi XE Architect
 
#3

AW: Datei über DataSnap Verbindung senden

  Alt 19. Jan 2011, 18:26
Ich würde statt Datasnap direkt auf Indy zugreifen. Ich versende z.B. so einen Stream:

Delphi-Quellcode:
begin
                  sinput:=IOHandler.ReadLn;
                  try
                     memo1.Lines.Add('Lade: '+sinput);
                     dm_vvk.cs_get_user.Params.ParamByName('iuser').AsString:=sinput;
                     dm_vvk.cs_get_user.Open;
                     stream := TMemoryStream.Create;
                     vtable:= TVirtualTable.Create(self);
                     vtable.Assign(dm_vvk.cs_get_user);
                     buf:=nil;
                     vtable.SaveToStream(stream,True);
                     IOHandler.Write(stream,0,true);
                     buf:= nil;
                     vtable.Free;
                     stream.Free;
                  finally

                  end;
Und lese den Stream beim Client so ein:

Delphi-Quellcode:
    stream:= TMemoryStream.Create;
    abuf:= nil;
    IdTCPClient1.IOHandler.WriteLn('3');
    IdTCPClient1.IOHandler.WriteLn(aactuser.username);
    IdTCPClient1.IOHandler.ReadStream(stream);
    Vtuser.LoadFromStream(stream,true);
    Vtuser.Active:=true;
    stream.Clear;
LG
Dirk
  Mit Zitat antworten Zitat