Thema: Delphi Problem mit IP Works*

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Problem mit IP Works*

  Alt 9. Mär 2005, 17:47
Delphi-Quellcode:
procedure TForm1.ipwIPPort1DataIn(Sender: TObject; Text: String;
  EOL: Boolean);
var Bildstream:TMemoryStream;
begin
     Bildstream:= TMemoryStream.Create;
     try
// Bildstream.Read(text,length(text)); // Falsch !!
       Bildstream.WriteBuffer(text[1],length(text)); // Richtig
       bildstream.Position:=0;
       jp.Loadfromstream(bildstream);
       image1.Picture.Assign(jp);
     finally
       image1.Invalidate;
       Bildstream.Free;
     end;
end;
Oder noch eleganter/besser:
Delphi-Quellcode:
procedure TForm1.ipwIPPort1DataIn(Sender: TObject; Text: String;
  EOL: Boolean);
var Bildstream:TStream;
begin
     Bildstream:= TStringStream.Create(text);
     try
       bildstream.Position:=0;
       jp.Loadfromstream(bildstream);
       image1.Picture.Assign(jp);
       image1.Invalidate;
     finally
       Bildstream.Free;
     end;
end;
Jetzt musst du aber noch aufpassen! Wenn du die Daten in Häppchen zerlegt bekommst, muss du
die Daten aneinanderhängen. Ist EOL: Boolean die Kennung, dass das letzte Paket geschickt wurde? (ich kenne die IP Works Komponenten nicht)
Andreas
  Mit Zitat antworten Zitat