Zitat von
Sir Rufo:
ob du ein TImage erzeugen musst oder nicht kannst du auch "normal" ohne
exception abfragen.
z.B. ist
Assigned dein freund
Er legt als aller erste Anweisung eine TImage Instanz durch einen Constructoraufruf an. Wenn nun das Anlegen der Instanz nicht erfolgreich durchgeführt werden kann (z.B: Speichermanager hat kein Speicher mehr, zu wenig GDI Handles, etc), dann kann dies nur durch eine Exception bekannt gegeben werden. Eine Exception ist die einzige Möglichkeit das Anlegen eines Constructors abzubrechen. Die Variable dann mit Assigned() abzuprüfen ist ein Witz (ich liebe keine bildliche, aber ausdrucksstarke Sprache), weil diese Anweisung nur erreicht wird, wenn der Constructor nicht abgebrochen wird. Und somit ist sie hinfällig, weil dann ist immer eine Instanz vorhanden.
/EDIT: Ok, ich habe mich verlesen, du wolltest mit Assigned() prüfen ob nicht schon eine Instanz da ist. Aber das war für mich nun unverständlich, da es keine
Exception gibt wenn man die Referenzen von vorhandenen Instanzen überschreibt. Somit wäre der gesamte try/except Block nicht für diese Prüfung gedacht. Also alles hinfällig, Sir Rufo.