Delphi-Quellcode:
if not Assigned(Abmp)
then
Abmp :=
Vcl.Graphics.TBitmap.Create;
EDIT:
Warum?
Es wird sich immer beschwert das man NIE auf True oder False hin prüfen soll.
Was ist eine Prüfung auf Nil.. Ja oder Nein, 1 oder 0, True oder False.
Also es ist in jedem fall eine Prüfung darauf ob der Wert True oder False ist.
Wenn man sich schon hier beschwert ->
if (x = True) then
sollte das gleiche auch bei Nil gelten.
Denn Assigned liefert den korrekten wert nämlich True oder False.
Es ist nicht grundsätzlich falsch auf NIL zu prüfen aber dann hat auch die Prüfung auf True wie im Beispiel seine Berechtigung.
Wenn nicht dann bitte schön konsequent bleiben und auch nicht auf NIL hin prüfen. Dafür gibt es Assigned.
Inhaltlich beißt sich da irgendwie die katze am eigenen schwanz, oder?
Eine "if" abfrage, egal wie man sie formuliert, bleibt immer eine True oder False abfrage.
Uwe Raabe hatte doch gerade erst gezeigt das eine "if nil" und ein "if assigned()" per debugger den gleichen code ausspuckt oder irre ich mich jetzt total?
Ich nehme natürlich gerne ratschläge dazu an, also Danke für Deinen Ratschlag!!