Typname erwartet?
-
Alexander Kempf schrieb:
Vielleicht hast Du irgendwo ein gegenseitiges include?
Okay, das hab' ich, aber das brauchi ich, und bei meinen anderen Sachen funktionierts auch mit den gegenseitigen includes....muss was anderes sein, aber was...? Und denkt bitte daran, ich sollte die Software "lediglich" erweiter, also ich hab' keinen Bock (und auch keine Zeit) darauf, das ganze Konzept zu überarbeiten.
-
Alex hat ja schon vorgeschlagen eine Forwarddeklaration zu versuchen?!?
-
junix schrieb:
Alex hat ja schon vorgeschlagen eine Forwarddeklaration zu versuchen?!?
was ist denn das genau? *googling*
-
roN schrieb:
und bei meinen anderen Sachen funktionierts auch mit den gegenseitigen includes
Sowas soll's geben: Hier funktioniert's, dort nicht...und das, obwohl *alles*
vollkommen gleich ist...oder? Naja, der eine winzige Unterschied kann's ja wohl
nicht sein...usw.roN schrieb:
also ich hab' keinen Bock (und auch keine Zeit) darauf, das ganze Konzept zu überarbeiten.
Was ist an einer Forward-Deklaration so schlimm? Du musst mit Sicherheit nicht
Dein Konzept überarbeiten. Das, was ich Dir vorgeschlagen habe, hast Du schneller
umgesetzt, als hier einen Beitrag zu verfassen. Oder hast Du's ausprobiert und
es hat nicht funktioniert?Gruß,
Alexander
-
roN schrieb:
junix schrieb:
Forwarddeklaration
was ist denn das genau? *googling*
Was das genau ist, kann ich Dir nicht sagen, aber im Groben bedeutet das, dass
Du dem Compiler mitteilst: "Hier wird eine Klasse verwendet, die es gibt, aber
ich verrate Dir jetzt noch nicht, wie sie aussieht. Das erfährst Du rechtzeitig."So ungefähr.
Gruß,
Alexander
-
Alexander Kempf schrieb:
Was ist an einer Forward-Deklaration so schlimm? Du musst mit Sicherheit nicht
Dein Konzept überarbeiten. Das, was ich Dir vorgeschlagen habe, hast Du schneller
umgesetzt, als hier einen Beitrag zu verfassen. Oder hast Du's ausprobiert und
es hat nicht funktioniert?ja, sorry, ich kannte das vorher gar nicht, bin jetzt am googeln, oder ihr dürft mir natürlich auch sagen, wie ich das anwende und was das ist...
-
Forwarddeklaration
Wenn ich das so anwende:forward TBUSObjectManagement *ptrCOM;
Ändert sich nichts, heisst immernoch
Typname erwartet
Okay, hab' gesehen wie's gehen würde...hm, wenn ich es korrekt mache, kommen andere Fehler, werd' mal genauer schauen, korrekt ist:
class TBUSObjectManagement; class TFrmMain : public TForm { __published: // Von der IDE verwaltete Komponenten TMainMenu *MainMenu1; TMenuItem *Datei1; // Mehr Deklarationen...
-
Lies Dir doch einfach mal mein erstes Posting durch. Da steht sogar der Code drin.
Gruß,
Alexander
-
Okay, nächstes Problem,
ich greif' von einem anderen Formular über mein FrmMain auf die Klasse TBUSObjectManagement zu und zwar so:
FrmMain->ptrCOM->TempGlobNodeID = Edit1->Text.ToInt();
der Compiler meint jetzt, nach dem ich TBUSObjectManagement als forward Klasse in TFrmMain deklariert habe folgendes:
[C++ Fehler] UnitFrmBaudRate.cpp(52): E2315 'TempGlobNodeID' ist kein Element von 'TBUSObjectManagement', weil der Typ nicht definiert ist.
was bedeutet das?TempGlobNodeID ist vom Typ int
-
roN schrieb:
was bedeutet das?
Das bedeutet, dass Du kein aufmerksamer Leser bist und nich mal einfachste Dinge, die man Dir vorkaut, in Dein Programm
übernehmen kannst. Du hast das include Deines Headers nicht im cpp (siehe mein erstes posting).Gruß,
Alexander
-
Alexander Kempf schrieb:
Das bedeutet, dass Du kein aufmerksamer Leser bist und nich mal einfachste Dinge, die man Dir vorkaut, in Dein Programm
übernehmen kannst. Du hast das include Deines Headers nicht im cpp (siehe mein erstes posting).*hups* Sorry, ich dachte du meinst damit nur in dem file, in dem ich die Instanz erstellte...aber logisch eigentlich, sorry...
Okay, jetzt kompilierts ohne Probleme, herzlichen Dank für die Hilfe von Dir und junix.