Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Prüfen ob Image leer ? (https://www.delphipraxis.net/54553-pruefen-ob-image-leer.html)

needatip 6. Okt 2005 13:15


Prüfen ob Image leer ?
 
Ich habe eine TImage Komponente auf einem Formular.
Wie kann ich nun beim Initialisieren des Formulars prüfen ob dem TImage schon eine Grafik zugeordnet ist ?

etwa so ... (if TImage1.Picture.Bitmap = nil then LoadFromFile ...)

funktioniert so aber nicht !

lizardking 6. Okt 2005 13:44

Re: Prüfen ob Image leer ?
 
Zitat:

Zitat von needatip
funktioniert so aber nicht !

Kann ja auch nicht ;) Die TImage-Komponente wird ja initialisiert und somit auch ein Bitmap instanziiert. Du kannst aber einfach die Breite bzw. Hoehe des Bitmaps abfragen. Duerfte beides 0 sein, wenn noch kein Bild geladen wurde.

trifid 6. Okt 2005 13:47

Re: Prüfen ob Image leer ?
 
TBitmap.Empty

lizardking 6. Okt 2005 14:01

Re: Prüfen ob Image leer ?
 
Zitat:

Zitat von trifid
TBitmap.Empty

*huestl*

Nun ja, waere vielleicht auch 'ne Loesung ;)

needatip 7. Okt 2005 08:35

Re: Prüfen ob Image leer ?
 
Ok, hab ich so eingebaut.

Ich lade im DataChange-Ereignis einer DataSource die Jpeg-Bilder in das Image.
Delphi-Quellcode:
if FileExists(Bild) then Image1.Picture.LoadFromFile(BILD)...
Ich bekomme jetzt aber einen Laufzeitfehler wenn ich folgendes im Form.FormActivate Ereignis schreibe:
Delphi-Quellcode:
if Image1.Picture.Graphic.Empty then...
Mit
Delphi-Quellcode:
if Image1.Picture.Bitmap.Empty then...
hat es gar nicht funktioniert.
Muss ich hier noch was initalisieren ?

Alexander 7. Okt 2005 09:02

Re: Prüfen ob Image leer ?
 
Ist vielleicht das Image noch gar nicht erzeugt worden (z.b. direkt nach dem Start)? Dann kommt es zu einer Zugriffsverletzung.

needatip 7. Okt 2005 09:11

Re: Prüfen ob Image leer ?
 
Ich habe das bereits von der VCL in mein Formular eingefügt.

Alexander 7. Okt 2005 09:18

Re: Prüfen ob Image leer ?
 
Wann genau kommt denn die Exception?

Der_Unwissende 7. Okt 2005 09:33

Re: Prüfen ob Image leer ?
 
Hi,

was für einen Laufzeitfehler bekommst du denn überhaupt? Eine AccessViolation oder was anderes? Was genau wird denn da gesagt. Ansonsten hat Alexander ja schon gefragt wo genau die kommt, mal mit Breakpoints die Stelle gesucht?

Gruß Der Unwissende

needatip 7. Okt 2005 10:21

Re: Prüfen ob Image leer ?
 
Ich bekomme eine AccessViolation.
Habe Breakpoint vor dem Befehl
Delphi-Quellcode:
if Image1.Picture.Graphic.Empty then...
gesetzt.
Beim Einzelschritt auf diesem Befehl tritt dann die o.g. Zugriffsverletzung auf.
Diese erhalte ich aber eben nur bei leerem Image; d.h. wenn ich das Formular öffne und dem Image ist noch nichts zugewiesen.
Ich bekomme aber keine Fehlermeldung, wenn bereits eine Grafik im Image vorhanden ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz