import Problem

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

Serge

Betreff: import Problem

BeitragDo, Feb 10, 2005 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Neutral
Wie löse ich dies?
http://www.dark-matter-soft.de
 

Demon

BeitragFr, Feb 11, 2005 8:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Da Include offensichtlich noch nicht funktioniert, würde ich vorschlagen beide Types in eine Datei zu schreiben.
Don't drink and derive!
 

morszeck

BeitragFr, Feb 11, 2005 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
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....

adba

Betreff: hmm

BeitragSo, Feb 13, 2005 14:34
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Feb 28, 2005 23:54
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, März 01, 2005 0:09
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group