Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 19.08.2012, 19:59 Titel: Problem mit UDT |
|
|
Hi, für die Raumstationen in meinem Spiel X-tfb brauche ich natürlich auch Produkte, die die Raumstationen herstellen. Die Produkte möchte ich in einem UDT definieren. Dafür habe ich folgenden Code geschrieben:
Code: | Type RStation
As String name,code
As Integer x,y,z,typ,anzproducts
As Any Ptr objptr
As TProduct Product(64)
End Type
Type TProduct
As Integer typ
As Integer num
As Integer maxprice,minprice,actprice
Declare Constructor()
End Type |
Ich erhalte allerdings einen "error 14: Expected identifier, found 'TProduct' in 'As TProduct Product(64)'". Aber wieso? |
|
Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 19.08.2012, 20:02 Titel: |
|
|
Zitat: | Type RStation
As String name,code
As Integer x,y,z,typ,anzproducts
As Any Ptr objptr
As TProduct Product(64)
End Type
Type TProduct
As Integer typ
As Integer num
As Integer maxprice,minprice,actprice
Declare Constructor()
End Type |
Dieses Declare Constructor wird die Meldung verursachen! _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 19.08.2012, 20:04 Titel: |
|
|
Dann habe ich aber immernoch den selben Fehler.  |
|
Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 19.08.2012, 20:07 Titel: |
|
|
Ich nicht!
Edit: Habe in der einen Zeile ein ' drin gehabt!
Geht bei mir auch nicht.
Das Programm erwartet in der einen Zeile ein String oder ein Integer oder ein ...
Deine Bezeichnung ist keines von dem was der Freebasic erwartet.
Gruß
ALWIM _________________ SHELL SHUTDOWN -s -t 05
Zuletzt bearbeitet von ALWIM am 19.08.2012, 20:12, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 19.08.2012, 20:08 Titel: |
|
|
Mit diesem Code erhältst du den Fehler nicht?
Code: | Type RStation
As String name,code
As Integer x,y,z,typ,anzproducts
As Any Ptr objptr
As TProduct Product(64)
End Type
Type TProduct
As Integer typ
As Integer num
As Integer maxprice,minprice,actprice
End Type |
Unmöglich!  |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 19.08.2012, 20:16 Titel: |
|
|
TProduct ist in Zeile 5 noch nicht bekannt. Stell mal die beiden Types um. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Westbeam

Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 19.08.2012, 20:17 Titel: |
|
|
Ohja, das funktioniert. Danke.  |
|
Nach oben |
|
 |
Cherry
Anmeldungsdatum: 20.06.2007 Beiträge: 249
|
Verfasst am: 27.08.2012, 22:57 Titel: |
|
|
Solltest übrigens irgendwann eine "kreisförmige" Beziehung mit UDT-Pointertypen haben (d.h. Typ A hat einen Member von Typ B Ptr, Typ B hat einen Member von Typ A Ptr), hilft eine Forward Type Declaration, d.h. du schreibst über Typ A noch ein "Type B_ As B" und verwendest dann B_ Ptr statt B Ptr in der Deklaration von Typ A. |
|
Nach oben |
|
 |
|