Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by hsg,
14. Jun 2007
Nun verwirrst du mich sehr: Ein Beispiel:
class Auto
{
private:
int AnzahlRaeder;
double Motorleistung;
public:
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by hsg,
14. Jun 2007
Er wird ja auch aufgerufen. Von daher ist alles im grünen Bereich.
Also halten wir fest: overload sagt nicht, dass die Methode verdeckt wird, sondern diese Information bezieht der Compiler aus dem nicht vorhandenen override. Richtig?
Dann hat das alles auch Sinn.
Und nach einer erfrischenden Nacht, verstehe ich auch mittlerweile wieder was ich da mal programmiert habe :wink:
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by hsg,
13. Jun 2007
Ich habe aber in der "overload; override;" Variante keine Warnung, sondern der Compiler ist sehr glücklich mit meinem Source.
Habe ich nur das overload stehen, wird der originale Konstruktor verdeckt (deswegen dann ja auch die entsprechende Warnung), aber mit dem override sage ich doch normalerweise: da gibt es was in der Original-Klasse, bitte berücksichtige das auch....
Mein...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by hsg,
13. Jun 2007
Sorry, dass sind meine C++-Altlasten, es ist mir klar, dass man das ganze auch anders lösen kann :-D
Es wird nun langsam Licht im Dunkeln. TMyForm hat nur einen Konstruktor, von daher ist ab da für Delphi wieder alles klar.
Mir ist nur nicht klar, warum die Reihenfolge "overload; override;" für Delphi wichtig ist. Aber eigentlich verdeckt doch ein "overload" den originalen Konstruktor,...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by hsg,
13. Jun 2007
Es ist zwar kein richtiges Problem (es läuft zwar) aber trotzdem ich bin bei folgendem Konstrukt nicht mehr wirklich sicher, was da passiert:
interface
type
TTextEditor= class(TMyForm)
public
constructor Create(AOwner : TComponent); overload; override; // <----- ES GEHT UM DIESE ZEILE
constructor Create(AOwner : TComponent; lNEm : Boolean); reintroduce; overload;
end;