Reseize-Ereignis wird durch Schließen des Formulars ausgelöst
-
...kaum hat man das eine Problem gelöst, da findet man schon das nächste!

Ist das normal, dass beim Schließen eines Formulars das Reseize-Ereignis ausgelöst wird?! (muss ja leider, ich glaube nicht, dass das bei mir ne Ausnahme ist!)Für besseres Verständnis:
Im reseize-ereignis aktualisiere ich ein TImage und passe es an die Bildschirmgröße an. Wenn ich jetzt das Formular schließen will, versucht er wieder das Bild zu aktualisieren. Wenn ich aber leider noch kein Bild geladen habe bzw. in meinem Image->Picture->LoadFromFile(bildname) bildname="" ist, dann bekomme ich einen Fehler!Kann ich irgendwie abfragen, ob das Reseize-Ereignis durch das Schließen des Formulars ausgelöst wurde? Und wenn es so ist diesen fall mit einem if umgehen?
Gruß Kiki
-
Hallo
in meinem Image->Picture->LoadFromFile(bildname) bildname=""
Wenn du
Image->Picture->LoadFromFile("");ausführst, sollte klar sein das ein Fehler kommt.
Wenn du aber glaubst, das Image oder Picture sich den Dateinamen merkt, aus dem ein Bild geladen wurde, dann irrst du dich.Kann ich irgendwie abfragen, ob das Reseize-Ereignis durch das Schließen des Formulars ausgelöst wurde? Und wenn es so ist diesen fall mit einem if umgehen?
Dieser Thread ist gerade mal 3 Positionen unter deinem...
bis bald
akari
-
Jo das weiß ich, ist ja auch von mir erstellt worden. Ich glaube ich habe mich sehr schlecht ausgedrückt. Mein Problem ist, dass ich im MainProg::FormReseize(TObject *Sender)-Ereigniss wissen will, wodurch es ausgelöst wurde. Und wenn es durch das Beenden (also durch das Klicken auf das Schließen-Kreuz) ausgelöst wurde, dann will ich den Code, den ich aktuell in meiner MainProg::FormReseize(TObject *Sender)-Funktion habe nicht ausführen.
Ich will quasi sowas haben:
MainProg::FormReseize(TObject *Sender) { if(/*Abfrage, ob Ereigniss durch Schließen aufgerufen wurde*/) { //kein Code abarbeiten } else { //Timage anpassen } }Hoffe mein Problem ist jetzt klarer geworden.
-
Hallo
dein Problem ist schon klar. Nur ist meiner Meinung nach dein Ansatz der falsche. Du solltest nicht überprüfen ob der Event nach dem Schließen des Forms aufgerufen wird, sondern innerhalb des Events ob in dem Image ein Bitmap geladen wurde.
Begründung : Was machst du bei Resize-Events während der Anzeige des Forms (also regulären), wenn auch dort noch kein Bitmap geladen wurde?bis bald
akari
-
Achso!!! Ich bin ja echt ein daggel! *schäm*
Danke