Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#28

Re: Konstruktor Create Virtual oder nicht?

  Alt 30. Aug 2007, 20:53
Ich glaube, dass bedeutet, dass wir die ganze Zeit aneinander vorbeigeredet haben: Ich meinte, dass TBaseclass.create mit der Klassenreferenz TSecondclass aufgerufen wird, und du sagtest, dass TBaseclass.create aufgerufen wird. Das widerspricht sich wohl nicht.
Ich dachte, dass du in deinen Konstruktor ebenfalls den Classname (deshalb meine Ergänzung mit hartcodierten Namen) anzeigen ließest.

Zitat:

Wenn also BaseClass.Create() intern SchoMessage(ClassName) aufruft dann zeigt das den Klassennamen der Klasse auch an. Wenn wir in BaseClass nun TSecondClass drinen stehen haben der Konstruktor aber NICHT virtuell deklariert wurde dann wird defakto eben nich TSecondClass.Create() aufgerufen sonder TBaseClass.Create(). das ist auch logisch da der Datentyp der Variablen BaseClass: class of TBaseClass ist.
Das habe ich wohl ziemlich falsch interpretiert.

Aber zurück zu den statischen Konstruktoren - in der VMT oder nicht, das ist hier die Frage. Kannst du mir die Bedeutung von VMTCreateObject erklären, denn bei meinen eigenen Nachforschungen bin ich nicht darauf gestoßen?
Apollonius
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat