müsste eigenlich sein: (ohne @)
Integer(LogMsg)
Weil ein Object ist schon selbst ein Pointer.
Ein TObject auf Integer zu casten hat eigentlich immer funktioniert.
Nja, man kann einen Pointer einem Objekt zuweisen ... Delphi interpretiert das dann sozusagen als TObject, welches intern ja ebenfalls ein Pointer ist.
Aber wie ich vorher shcon sagte:
Wenn man die globale Variable referenziert (@) und darauf den Zeiger überbergibt, dann muß am Ziel auch dieser Zeiger erstmal dereferenziert (^) werden,
und wenn man direkt den Objektzeiger übergibt, dann muß nur gecastet werden.
Und da Pointer was Böses sind, sollte man Diese möglicht vermeiden und schon gibt es keine Probleme mehr.