hm? Klassen-Eigenschaft
-
Hallo,
komischer Fehler:
Ich habe eine Klasse Namens: TMyDocument
Ich habe eine Eigenschaft Namens RefSpeed angelegt und im Header steht sowas://unter public: __property int RefSpeed = { read=GetRefSpeed, write=SetRefSpeed }; //unter private: void __fastcall SetRefSpeed(int value); int __fastcall GetRefSpeed();
und in der *.cpp steht das da:
void __fastcall TMyDocument::SetRefSpeed(int value) { if(FRefSpeed != value) { FRefSpeed = value; this->UpdateAllViews(); } } int __fastcall TMyDocument::GetRefSpeed() { return FRefSpeed; }
Der Compiler meint aber dennoch:[C++ Fehler] TMyDocument.cpp(181): E2316 '_fastcall TMyDocument::SetRefSpeed(int)' ist kein Element von 'TMyDocument'
[C++ Fehler] TMyDocument.cpp(188): E2316 '_fastcall TMyDocument::GetRefSpeed()' ist kein Element von 'TMyDocument'Warum das? *hmm*
-
Okay, jetzt hat sich die Problematik verändert, ich hab's jetzt soweit das ich mit
extern TMyDocument *Dokument_TMDp;
eine Instanz auf TMyDocument setzte und dann kommt beim Aufruf von, *erinnere* es ist auf public, Dokument_TMDp->RefSpeed der Fehler "RefSpeed sei kein Element von TMyDocument"... warum das?
-
roN schrieb:
Okay, jetzt hat sich die Problematik verändert, ich hab's jetzt soweit das ich mit
extern TMyDocument *Dokument_TMDp;
eine Instanz auf TMyDocument setzte
Äh tschuldigung aber mit obiger Zeile setzt du garnix nirgendwo (hin).. du sagst lediglich dem Compiler, dass er nicht eine neue Variable erstellen soll, da sie bereits in einem anderen Modul definiert wurde.
roN schrieb:
und dann kommt beim Aufruf von, *erinnere* es ist auf public, Dokument_TMDp->RefSpeed der Fehler "RefSpeed sei kein Element von TMyDocument"... warum das?
Vielleicht ein Problem mit dem inkrementiellen Compiler/Linker? Schonmal das ganze Projekt von vorne übsersetzt?
-junix
-
Hab' jetzt mal komplett neu übersetzt... erfolglos
-
roN schrieb:
Hab' jetzt mal komplett neu übersetzt... erfolglos
Okay, hab's raus, hab' ein durcheinander gemacht mit den Dateien... *grrr* tja, das gibts... Sorry für die Störung...
-
Kannste das mal näher erläutern?
-junix
-
junix schrieb:
Kannste das mal näher erläutern?
-junix
Okay, ich doofchen hatte eine Datei Namens mydocument.h und eine Namens TMyDocument.h. Ich habe die Deklaration in der falschen Datei plastziert...
*tja*