Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.167 Beiträge
 
Delphi 12 Athens
 
#9

Re: Image soll über einen pointer jpeg anzeigen

  Alt 8. Okt 2009, 18:59
hier zeigt der Pointer auf die Variable
pointer := @jpg; und wenn du später auf das Bild zugreifen willst, dann muß diese Variable noch existieren, was sie wohl nicht mehr tut

wie gesagt, ein Objekt ist im Prinzip auch ein Zeiger, also brauchst du diesen einfach nur umzuwandeln (typcasting)
p := Pointer(jpg); wenn du nun später wieder das Object haben willst, dann einfach umgekehrt
jpg := TJpegImage(p); [add]
Zitat:
Delphi-Quellcode:
// Bild laden
If pointer <> nil
  then jpg := pointer^;

// Bild anzeigen
NewImage.Picture.Assign(jpg);
PS: Was passiet eigentlich, wenn pointer (es ist etwas unglücklich gewählt, wenn eine Variable wie genauso ein bekannter Typ heißt) NIL ist?
Dann ist nach dem IF das jpg undefiniert und .Assign wird vermutlich mit einer netten exception reagieren

da wäre dieses schon besser:
NewImage.Picture.Assign(TJpegImage(_pointer_));
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat