Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   enviar memorystream no indy 9 tcp (https://www.clubdelphi.com/foros/showthread.php?t=51369)

Mike Deet 13-12-2007 16:04:59

enviar memorystream no indy 9 tcp
 
ola

como posso enviar uma memory stream em indy 9 com protocolo tcp no delphi 5

o codigo que tenho é o seguinte:

server:

Código Delphi [-]
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var ftmpStream : TMemoryStream;
begin
   ftmpStream := TMemoryStream.Create;
   with AThread.Connection do
    while Connected do
        ReadStream(fTmpStream);
    Image1.Picture.Graphic.LoadFromstream(ftmpStream);
    ftmpStream.Free;

end;

cliente:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var fStream : TMemoryStream;

begin
if IdTCPClient1.Connected then IdTCPClient1.Disconnect;
IdTCPClient1.Connect;
   num:=num+1;
 fStream := TMemoryStream.Create;
 IdTCPClient1.OpenWriteBuffer;
 IdTCPClient1.WriteStream(fStream);
 IdTCPClient1.CloseWriteBuffer;
    Memo1.Lines.add('File transfer completed'+ inttostr(num));
    fStream.Free;
end;

ja testei com file stream e funciona correctamente mas com memory stream envia mas nao consigo mostrar a imagem.

seoane 13-12-2007 20:49:38

Prueba con esto:
Código Delphi [-]
ftmpStream.Position:= 0;  // <-- Añade esta linea antes del LoadFromstream
Image1.Picture.LoadFromstream(ftmpStream);

Mike Deet 13-12-2007 21:19:05

Muchas Gracias ja da


La franja horaria es GMT +2. Ahora son las 04:07:44.

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