[C++ unter .Net] 2 Klassen bidirektional miteinander komunizieren lassen
-
Hallo!
Ich hab ein kleines Problem mit 2 Klassen, die mit C++ geschrieben und unter .Net laufen sollen.
Ich möchte, dass beide Klassen oder besser Objekte dieser Klassen in beide Richtungen miteinander komunizieren können. Ein kleines Beispiel:
rad.h class Rad{ public setReifen(Reifen* reifen); } reifen.h class Reifen{ public setRad(Rad2* rad); }
Mein Problem ist nun, dass es so nicht geht. Damit die reifen.h abgearbeitet werden kann, muss ich die rad.h einbinden, doch damit die rad.h abgearbeitet werden kann, muss ich die reifen.h einbinden. Ich drehe mich im Kreis
Unter "normalem" C++ hatte ich mal solche Lösung gehört:
reifen.h class Rad{}; class Reifen{ public: setRad(Rad* rad); }; reifen.h class Reifen{ public setRad(Rad2* rad); }
Doch dies scheint unter .Net nicht mehr zu gehen?! Ich bekomm immer eine Fehlermeldung, dass ich die Klasse Rad nicht ein zweites mal anlegen darf
Wie kann man sowas lösen? Oder bin ich der Einzige, der sowas machen möchte?
Das Problem hab ich zum Beispiel auch bei der Oberfläche. Wenn ich einen Radiobutton aktiviere und in seinem Event in einem Objekt was machen möchte ist das soweit kein Problem. Doch wenn das selbe Objekt auch mal auf die Oberfläche zugreifen möchte, um ein Label oder so zu ändern, hab ich wieder dies Problem.
Bin für Eure Ideen dankbar
Danke! Ralph
-
1. Das gehört nicht in dieses Forum
2. Hab deinen Post jetzt nicht genau gelesen. Aber de #define / #ifdef -Verschachtelung könnte dir bestimmt sehr gut helfen
Greetz
-
3. class Rad {}; definiert eine leere Klasse Rad, das andere definiert eine nicht-leere Klasse Rad. Klar dass er da meckert (gleicher Name, unterschiedlicher Inhalt?!). Ein Forward geht in C++ (übrigens seit paar Jährchen schon):
class Rad;
-
LordJaxom schrieb:
class Rad;
Könnte es sein, dass ich mich nur falsch daran erinnert habe? Werd ich gleich heute Abend ausprobieren.
Ralph
-
Uff ^^
Die Lösung war so einfach, dass ich s nicht mehr hingeschrieben hab. War mir nich sicher, ob das vielleicht mit den .net-Extensions weggefallen istGreetz :D²
-
Hallo!
Ja so wie oben beschriben läuft es, danke!
Manuel schrieb:
War mir nich sicher, ob das vielleicht mit den .net-Extensions weggefallen ist
Da Du Dir selbst scheinbar nicht sicher bist, ist die Frage in diesem Forum doch so falsch nicht (siehe weiter oben)!?
Ralph
-
Mein Gott ... Haarspalter
An sich war ich mir schon sicher, dass das an C++ nicht geändert wurde, deswegen sollte die Frage auch ins C/C++ Forum kommen ... hatte aber vorausgesetzt, dass man an sowas denkt ^^Greetz
-
Dieser Thread wurde von Moderator/in Marc++us aus dem Forum C# und .NET in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
comment with out