Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Problem mit UDT

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 19.08.2012, 19:59    Titel: Problem mit UDT Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 19.08.2012, 20:02    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 19.08.2012, 20:04    Titel: Antworten mit Zitat

Dann habe ich aber immernoch den selben Fehler. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 19.08.2012, 20:07    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 19.08.2012, 20:08    Titel: Antworten mit Zitat

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! verwundert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 19.08.2012, 20:16    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 19.08.2012, 20:17    Titel: Antworten mit Zitat

Ohja, das funktioniert. Danke. lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cherry



Anmeldungsdatum: 20.06.2007
Beiträge: 249

BeitragVerfasst am: 27.08.2012, 22:57    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz