Nicht sicher, was Sie meinen, aber Assert(Assigned(MyObject));
ist ziemlich kurz und einfach zu bedienen.
Welche Delphi-Funktion behauptet, dass ein Objekt nicht Null ist?
Wie knight_killer oben gezeigt, verwenden Sie die Assert()
-Funktion und stellen fest, dass Assigned(obj)
ist true
. Wie in den meisten kompilierten Sprachen werden Assertions nicht ausgeführt (oder sind sogar in der Compilerausgabe enthalten), es sei denn, Sie haben sie ausdrücklich aktiviert. Sie sollten sich daher nicht auf Assertions für Builds im Releasemodus verlassen.
Sie können natürlich einfach nach nil
, a la Assert(obj <> nil)
suchen. % Co_de% erzeugt jedoch die exakt gleiche Compiler-Ausgabe und hat den zusätzlichen Vorteil, dass es auch auf Zeiger auf Klassenmethoden wirkt (die in Wirklichkeit ein Zeigerpaar sind, eins für die Methode und das andere für die Klasseninstanz), Deshalb ist es eine gute Angewohnheit, Assigned()
zu benutzen.
Nicht sicher, was Sie meinen, aber Assert(Assigned(MyObject));
ist ziemlich kurz und einfach zu bedienen.
Zugewiesen (AObject) wird Ihnen sagen, ob ein Objekt Null ist oder nicht.
Vielleicht erwähnenswert ist die Tatsache, dass wenn Sie ein Objekt mit AObject freilassen. Stellen Sie also sicher, dass Sie das Objekt mit FreeAndNil (AObject) freigeben.
Tags und Links delphi