import Problem
Übersicht

SergeBetreff: import Problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Habe z. B. zwei folgende Dateien:
Code: [AUSKLAPPEN] Import "typeA.bmx" Type typeB field pointer:typeA EndType Code: [AUSKLAPPEN] import "typeB.bmx" Type typeA field pointer:typeB EndType Wie man sieht müssen sich die beiden Dateien gegenseitig importieren. Jedoch entsteht dadurch ein Fehler wegen Doppeldeklaration ![]() Wie löse ich dies? |
||
http://www.dark-matter-soft.de |
Demon |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Da Include offensichtlich noch nicht funktioniert, würde ich vorschlagen beide Types in eine Datei zu schreiben. | ||
Don't drink and derive! |
morszeck |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das ist ja wohl klar... du kannst die Dateien doch nicht gegenseitige importieren...
ist gibt eine Main-Datei die weiterführend alle restlichen Includes, bzw Imports beinhaltet.... Es macht auch wenig Sinn, so wie du es lösen willst... Unter C sollte dies aber funktionieren, aber BMX ist halt kein C.... |
||
![]() |
adbaBetreff: hmm |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es bräuchte wie in C ein Ifndef anweisung die einen imprt nur macht wenn (if) noch nicht (n) definiert (def) wurde. In c etwa so:
#Ifndef typeB #include "typeB.bmx" #endif In BMax vermutlich so: Ifndef typeB import "typeB.bmx" endif aber ob es so was in bmax gibt / geben wird weiss ich nicht. Das ist überigens kein normales if sondern eine precompiler anweisung. das heisst das wird noch vor dem compilieren durgearbeitet. |
||
Serge |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja wäre interessant ob es "compilerif" oder sowas gibt?
Alle in der Main zu importieren und gegenseitig nicht zu importieren spuckt nen fehler aus dass eben dies und das in den einzelnen dateien nicht definiert ist (z. B. in typeB weis er nicht was typeA ist). Also muss ich wohl mit include arbeiten. |
||
http://www.dark-matter-soft.de |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es wäre einfacher das ganze Programmdesign nochma anzusehen. Die situation tritt eigentlich nur dann ein, wenn man fröhlich drauflos auf der tastatur rumhackt und nicht durchdacht arbeitet.
ansonsten entstehen logische source kapselungen, die das problem beseitigen ( sollten ) Alternativ dazu kann man den Header Ansatz von C nehmen: Einfach einen import machen wo abstrakte Versionen der Types enthalten sind und auf diesen Aufbauen ( Java lässt grüssen ) und die importieren und halt entsprechend alles extenden. Hängt immer vom Fall ab was mehr bringt / sinnvoller ist. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group