Wichtige Frage über Zeiger
-
Hallo
Instanzen von Klassen der VCL (also alles von TObject abgeleitetes) können nur als Heap-Objekte angelegt werden. Das wird benötigt, damit die Polymorphie funktioniert.
bis bald
akari
-
@akari
Soweit ich weiß ist können von TObject abgeleitete Klassen nur desshalb ausschließlich auf dem HEAP allokiert werden, weil sie in DelphiLanguage implementiert sind!?
-
Hallo
@ Reyx
Welcher Mechanismus nun genau dafür verantwortlich ist, das es nicht vom Compiler akzeptiert wird, weiß ich nicht. Auf jeden Fall kommt sonst der CompilerfehlerE2459 Klassen im VCL-Stil müssen mit dem Operator new erstellt werden
Und Polymorphie funktioniert in C++ nun mal ausschließlich bei Heap-Objekten.
bis bald
akari
-
akari schrieb:
Und Polymorphie funktioniert in C++ nun mal ausschließlich bei Heap-Objekten.
Nein, die funktioniert auch mit Stack-Objekten, aber nur solange du mit Pointern oder Referenzen darauf zugreifst.
-
Na, wie soll das mit der Vielgestalltigkeit sonst auch klappen, wenn nicht mit Zeigern.
Das ist jedoch sicher nicht der Grund für die Art der Implementation.
-
Also schrieb:
Na, wie soll das mit der Vielgestalltigkeit sonst auch klappen, wenn nicht mit Zeigern.
Mit Referenzen

-
@CStoll: Haarspalter!

Trotzdem ist das nur eine Zeigerdeklaration.
In der zugehörigen Projekt.cpp wird erst mit UseForm das entsprechende Formular eingelesen, der Zeiger deklariert und in der WinMain wird dann mittels Application->CreateForm eine Instanz erzeugt. Oder habe ich was Grundlegendes übersehen?
-
Nein ! Das ist korrekt.
-
Joe_M. schrieb:
@CStoll: Haarspalter!

Mir doch egal

@also: Kannst du mal irgendwie kennzeichnen, auf welche Aussagen du dich jeweils beziehst? So ein "Nein ! Das ist korrekt." ohne den richtigen Zusammenhang ist wertlos

-
Joe_M. schrieb:
In der zugehörigen Projekt.cpp wird erst mit UseForm das entsprechende Formular eingelesen, der Zeiger deklariert und in der WinMain wird dann mittels Application->CreateForm eine Instanz erzeugt. Oder habe ich was Grundlegendes übersehen?
Ich denke mal er bezog sich darauf, denn das stimmt ja auch.