Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#9
  Alt 11. Jul 2002, 13:09
Moin Traumzauberbaum,

Durch Deine Variablendeklaration erzeugst Du eine Variable Filename vom Typ TPicture.
TPicture ist ein Objekt, dass vor der Benutzung erst einmal erzeugt werden muss.
Da dies bei Dir nicht der Fall ist, hat Filename einen undefinierten Wert.
Die Zeile

Code:
FileName := TPicture.Create;
fehlt.
Dadurch wird ein TPicture Objekt erzeugt, und dessen Adresse in der Variablen Filename gespeichert, so dass nun die Zugriffe keinen Fehler mehr erzeugen.

Wichtig
Ein erzeugtes Objekt muss auch immer wieder freigegeben werden, um Speicherlecks zu vermeiden.

Ablaufprinzip:

Code:
Objekt erzeugen (Create)
[b]try[/b]
  [color=#000080][i]// mit dem Objekt arbeiten[/i][/color]
[b]finally[/b]
  Objekt freigeben (Free)
[b]end[/b];
In Deinem Falle wäre es wohl sehr viel einfacher statt

Code:
Image1.Picture := FileName;
lieber

Code:
Image1.Picture.LoadFromFile(BildLaden.Filename);
zu verwenden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat