Thema: Delphi Picture aus String laden

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Picture aus String laden

  Alt 8. Dez 2008, 19:59
Delphi-Quellcode:
//==============================
// ListView1 Click
//==============================
procedure TForm1.ListView1Click(Sender: TObject);
  var nPictNr : Integer;
      cBild : String;
      TmpJpg : TJPEGImage;
      strStream : TStringStream;
begin
  nPictNr := StrToInt(ListView1.Items[ListView1.ItemIndex].Caption);
// ListView.Items[ListView1.ItemIndex].SubItems[0] waere 2. Spalte

  cBild := MyComPort.SendPicture(nPictNr, ProgressBar1);
  if cBild <> 'then begin
    strStream := TStringStream.Create(cBild);
    Try
      TmpJpg := TJPEGImage.Create;
      Try
        TmpJpg.LoadFromStream(strStream);
        Form1.Image1.Picture.Assign(TmpJpg);
      Finally
        TmpJpg.Free;
      End;
    Finally
      strStream.Free;
    End;
  end;
end;
Zitat von mkmk:
Noch eine Frage: warum muss ich TmpJpg.free schreiben? Ist TmpJpg nicht eine lokale Variable?
Das stimmt, aber es handelt sich um einen Zeiger auf einen alloziierten Speicherbereich. Delphi räumt hier nicht automatisch auf.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat