Probleme beim einbinden von Unit
-
Hallo
ich vermute das er die Klassenunit in der Implemenationsdatei von Form1 included hat, und deshalb über den Header von Form1 nicht an die Klasse rankommt.
bis bald
akari
-
das könnte natürlich auch sein, hab ich gar nicht dran gedacht.
mfg
Tom
-
Ich versuch die Struktur hier mal wiederzugeben:
Unit1.cpp:
#include "Unit1.h" #include "TForm2.h"Unit1.h:
#include <Klassen.cpp>TForm2:
private: // Anwender-Deklarationen CKlasse* Bezeichner;So geht es nicht, der Compiler meckert in dieser Zeile: "CKlasse* Bezeichner;"
Wenn ich nun in Form2 mit Alt+F11 Unit1.h einbinde geht es auch nicht.
Wenn ich in TForm2.h auch "#include <Klassen.cpp>" schreibe, dann sagt er es wäre doppelt definiert!
-
reicht es nicht wenn ich in den headers einfach die unit bekannt mache? also dieses Problem hatte ich auch schonmal gehabt

-
Ich krieg das immer noch nicht hin. Und weiß auch nich, was ich da weiter machen soll!
-
Hallo
es gibt noch keine Verbindung von Form2 zu der Klassenunit
TForm2:#include <Klassen.cpp> // oder #include "Unit1.h" ... private: // Anwender-Deklarationen CKlasse* Bezeichner;Mit der Autofunktion wird der Include nur in die Form2.cpp gesetzt, dort ist es aber zu spät, es muß in Form2.h
bis bald
akari
-
Also ich bin ein leihe aber dieses problem hab ich so mit meinem prof gelöst. du bildest ne unit und in der header der unit definierst du deine klasse. die header bindest du jeweils in den anderen headers der formulare ein. so jetzt sollte das klappen

-
Also darf man sich in diesem Fall nicht auf das automatische Einbinden verlassen (ein Bug?)?
Wenn ich in Form2 mit alt+f11 die Unit1 einbinde, dann muss ich den geschaffenen Eintrag aus der cpp ausschneiden und in die h einfügen!?!Danke Schön, ich werd es gleich testen.
-
Jetzt Gates!
Habe früher immer alles von Hand eingebunden, bis ich hier im Forum gelesen habe, dass man das nicht machen sollte!!
Naja, is eben doch nicht so einfach...
-
Hallo
nein, kein Bug. Nur nicht das richtige was du brauchst.
Deshalb ist es wichtig, wie und warum man manuell sowas macht.bis bald
akari