Moin, moin!
Ich möchte einmählich in OOP in Pascal und C++ reinschnuppern. Deswegen versuche ich das Programm „ColorButton“ (http://delphi.about.com/library/code/ncaa061104a.htm ) von Delphi nach C++ zu übersetzen. Von dem Pascal-Code habe ich ziemlich viel verstanden und nach C++ übersetzen können. Allerdings habe ich ein paar Schwierigkeiten die ich alleine nicht überwältigen kann.
Zum Beispiel der folgende Pascal-Code:
habe ich nach C++ so übersetzt:
Leider akzeptiert der Compiler meine Übersetzung nicht und haut mir mit folgender Meldung auf die Finger:
Die Meldung verstehe ich so (um das ein bisschen naiv auszudrucken), dass die Funktion CMEnabledChanged in der Basisklasse (TButton) nicht ansprechbar ist (warum auch immer).
Meine Frage ist: Was für eine Funtion ist das? VCL? RTL? Win-API? habe ich das „inherited“ richtig übersetzt? Wenn ja, warum meckert der C++-Compiler und der Pascal-Compiler nicht? Ist die Methode in Pascal anders als in C++ definiert/deklariert?
Viele Grüße
Markus
Ich möchte einmählich in OOP in Pascal und C++ reinschnuppern. Deswegen versuche ich das Programm „ColorButton“ (http://delphi.about.com/library/code/ncaa061104a.htm ) von Delphi nach C++ zu übersetzen. Von dem Pascal-Code habe ich ziemlich viel verstanden und nach C++ übersetzen können. Allerdings habe ich ein paar Schwierigkeiten die ich alleine nicht überwältigen kann.
Zum Beispiel der folgende Pascal-Code:
Code:
procedure TColorButton.CMEnabledChanged(var Message: TMessage); begin inherited; Invalidate; end;
Code:
void __fastcall TMyColorButton::CMEnabledChanged(TMessage &Message) { TButton::CMEnabledChanged(Message); Invalidate(); }
[BCC32 Error] MyColorButton.cpp(100): E2247 `__fastcall TWinControl::CMEnabledChanged(TMessage &)’ is not accessible.`
Meine Frage ist: Was für eine Funtion ist das? VCL? RTL? Win-API? habe ich das „inherited“ richtig übersetzt? Wenn ja, warum meckert der C++-Compiler und der Pascal-Compiler nicht? Ist die Methode in Pascal anders als in C++ definiert/deklariert?
Viele Grüße
Markus
Comment