LinkedList mit eigenen Types?

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

ThorbenSchröder

Ehemaliger Admin

Betreff: LinkedList mit eigenen Types?

BeitragMo, Jun 06, 2005 2:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey,

ich versuche in eine Liste per AddLast ein Objekt von Typ XYZ, einem beliebigen, von mir erstellten Type, anzuhängen.

Versuche ich jetzt folgendes:

BlitzMax: [AUSKLAPPEN]

Local Test:XYZ
Test = MeineListe.last


Erzählt er mit stets, dass er <Object> nicht in <XYZ> umwandeln kann.

... Da stellt sich mir als ahnungslosen BMax-Neuling doch die Frage: wie dann? Mit Pointern realisiert er das ganze auch nicht, da ich per AddLast scheinbar keine VarPtr einfügen kann... Muss ich einen eigenen TList-Type erstellen, der für meine Aufgaben genügt?

Thorben

bruZard

BeitragMo, Jun 06, 2005 6:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich konnte Deinem Post nicht eindeutig entnehmen was genau Du dort versuchst, aber wenn Du eine Linked List erstellen willst, sollte die Variable auch dem richtigen Typ entsprechen. BMax castet zwar sehr viel automatisch, aber beliebige Objekte ineinander umwandeln kann es dann doch noch nicht.

Code: [AUSKLAPPEN]

Local Test:TList          ' Test ist vom Typ "TList" welches widerum ein Objekt ist
Test:TList = New TList ' ein Objekt muss mit new erstellt werden.
Test.AddLast()            ' erst jetzt kann ein Element an die Liste angehangen werden
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

Jolinah

BeitragMo, Jun 06, 2005 8:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo, das Problem liegt wie Bruzard schon schrieb beim casten.

Mach einfach:

Code: [AUSKLAPPEN]

Test = XYZ(MeineListe.Last())
 

ThorbenSchröder

Ehemaliger Admin

BeitragMo, Jun 06, 2005 9:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Den Cast hatte ich ja auch schon getestet, es lag alles an zwei Klammern Wink

Mit XYZ( meineListe.last ) geht es nicht, mit XYZ( meineListe.Last() ) geht es.

Und das, obwohl es meineListe.last geben sollte!
Wenn ich das ganze so mache:

XYZ( meineListe.last )

kommt zudem ein seltsamer Fehler: BMax meint nun er könnte nicht von <Object> in <Unknown> umwandeln Wink


Vielen vielen Dank, jetzt kann ich weiter machen Smile

Thorben
 

Dreamora

BeitragMo, Jun 06, 2005 10:03
Antworten mit Zitat
Benutzer-Profile anzeigen
last ist eine methode mit rückgabewert und rückgabewerte werden nur zurückgegeben wenn () dran steht.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group