es gibt schon das richtige Ergebnis zurück.
Assigned prüft nur ob MyObject <> nil
und da eine Objektinstanzvariable nicht selber initialisiert wird, mußt du es machen!
Und der lokale Variablenspeicher wird auch nicht geNullt ... sowas gibt es nur bei den Globalen und dem Objektvariable (denen im Objekt).
Delphi-Quellcode:
MyObject := nil;
ShowMessage('is assigned: ' + BoolToStr(Assigned(MyObject), True));
MyObject:= TMyObject.Create;