Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Try ... except --> trotzdem Fehler wieso??? (https://www.delphipraxis.net/54627-try-except-trotzdem-fehler-wieso.html)

Christian18 8. Okt 2005 10:30


Try ... except --> trotzdem Fehler wieso???
 
Hallo Leute,

ich habe mal eine kleine Frage. Ich bin gerade dabei ein kleines Programm, dass bei dem Programm start nicht alle forms läd. sondern nur die die wirklich nötig sind. wenn ich eine form brauche, dann lade ich sie nach. und das mache ich so.

Delphi-Quellcode:
Try
  Form1.ShowModal;
except
  Application.CreateForm(TForm1, Form1);
  Form1.ShowModal;
bei dieser Variante, kommt trotzden ein zugriffsverletzungs Fehler. Ist das normal??? oder habe ich was falsch gemacht.

Mit freundlichen Grüßen

Christian18

himitsu 8. Okt 2005 10:39

Re: Try ... except --> trotzdem Fehler wieso???
 
Meißtens ist in Delphi die Anzeige von Fehlern aktiviert.
Es werden also dennoch alle Fehler angezeigt, selbst in 'nem Try-Except-Block.
Somit kommt also zuerst die Fehlermeldung vom Compiler und wenn kein Try-Except vorhanden ist dann erscheint nach dem Fortsetzen noch die Fehlermeldung des Programms.

Also entweder du deaktivierts das (irgenwo in den Projektoptionen - glaub ich), oder du mußt damit leben.

PS: wenn du dein Programm mal nicht von Delphi aus (ohne Debuger) startest, dann sollte diese Meldung weg sein ;)



Es ist natürlich auch möglich soetwas zu erledigen, ohne eine Exception auszulösen:
Delphi-Quellcode:
If Form1 = nil Then Application.CreateForm(TForm1, Form1);
Form1.ShowModal;
Dabei mußt du aber natürlich dafür sogen, daß Form1 immer nach dem Freigeben auf NIL steht. (notfalls mußt du es halt selber setzen)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr.

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