Einzelnen Beitrag anzeigen

Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#1

Es funktioniert, und ich verstehe nicht warum o.O

  Alt 31. Okt 2012, 22:47
NAbend,
Also aufgrund eines versehens etwas komisches festgestellt.

Ich habe eine Form TMainForm. Dann habe ich meinem Projekt ein Datenmodul(TIDEActions genannt, name = IDEActions) hinzugefügt. Selbiges beinhaltet eine actionlist mit allen actions und properties die AUf Objectinstanzen verweisen, die extern zugewiesen werden. Das datenmodul ist aus dem Autocreate rausgenommen. Die globale variable die in TIDEActions generiert wurde(IDEActions) habe ich gelöscht, weil ich keine globale instanz wollte.

Meine MainForm besitzt eine private Feldvariable FIdeActions vom typ TIDEActions.
Diese wird im Constructor erstellt und Properties gesetzt.(Dabei handelt es sich um instanzen anderer klassen).

SO und jetzt wirds merkwürdig:

Ich kann auf der MainForm im Formeditor trotzdem bei buttons im ActionFeld

IDEActions.MeineAction

anwählen UND zur laufzeit wird die TIDEActions instanz genommen die ich in meiner feldvariable FIDEActions hinterlegt habe.

HÄ?!

In meinem kopf sagt eine stimme "Kann gar nicht sein". WOher nimmt Delphi die richtige instanz? Müsste das nicht ne NIL pointer exception geben? Ich kann alles völlig normal nutzen.

Jemand ne erklärung?
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat