Einzelnen Beitrag anzeigen

mani64

Registriert seit: 8. Apr 2009
49 Beiträge
 
Delphi 5 Professional
 
#1

TLabel - für mich unerklärliche Exception

  Alt 21. Apr 2009, 19:47
Hallo,

wer kann mir folgendes erklären:
Ich habe in einer MDI-Anwendung ein Formular, ein "About"-Fenster, das beim Start kreiert wird und dann per Menü-Button aufgerufen werden kann (siehe bei Delphi Datei - Neu - Projekte - MDI-Anwendung!).
Auf dem Formular sind 3 TLabel und ein Image.
Bei dem einen Label ist die Textgröße Font.Size auf 8 eingestellt, die Werte von Font.Height und Height sind -11 und 13.
So funktioniert die Sache wunderbar.

Ändere ich jetzt Font.Size ab, dann passen sich im Objektinspektor auch Font.Height und Height an, z.B. Font.Size=16, Font.Height=-21 und Height=24. Aber nun erzeugt das Programm beim Verlassen eine Exception EAccessViolation in Modul Projekt1.exe... Zugriffsverletzung ... Schreiben von Adresse ....
Rufe ich jedoch bevor ich das Programm schließe das About-Formular auf, kommt die Meldung nicht.
Die Meldung kommt auch nur, wenn ich zuvor in ein Kindfenster eine bereits vorhandene Datei lade.
Stelle ich für Label die ursprünglichen Werte ein, dann wird das Programm aber auch normal beendet, auch wenn ich das About-Formular nicht erscheinen lasse und eine Datei geöffnet hatte.
Die Meldung erscheint auch nicht (bei veränderten Werten des Labels), wenn ich zuerst das Kind-Fenster schließe und danach dann das Programm beende.

Welche Erklärung gibt es für dieses Phänomen??

Ich habe jetzt gerade noch einmal die von Delphi zur Verfügung gestellte Grundform von MDI-Applikation getestet. Dort hat das Verändern von Font.Size keine Exception zur Folge. Ist doch aber komisch, dass es in meiner Anwendung mit Font.Size 8 keine Exception gibt, mit jeder anderen Größe aber schon - jedoch wenn ich das Formular einmal aufgerufen habe, dann wieder keine.
  Mit Zitat antworten Zitat