TLink speichern

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Amroth

Betreff: TLink speichern

BeitragMo, Jan 14, 2008 1:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hiho.. ich versuche euch mal mein Problem in der Handhabung von TLink's bzw TList's zu schildern:

In der BlitzMax eigenen Hilfe habe ich folgendes gefunden:

Zitat:
Function RemoveLink( link:TLink )
Description Remove an object from a linked list.
Information RemoveLink is more efficient than ListRemove.


Nun gut, aber um RemoveLink gebrauchen zu können (und um von der besseren Effizienz profitieren zu können) muss ich von jedem neu erstellten Objekt den Link speichern, ok.

Ausserdem habe ich folgendes gefunden:

Zitat:
Function ListAddLast:TLink( list:TList,value:Object )
Returns A link object.
Description Add an object to a linked list.



also erweitere ich mein Type TObj folgendermassen:

Code: [AUSKLAPPEN]

Type TObj
   
   Field Link:TLink
   
   Function Create:TObj()
           Local neu:TObj=New TObj
              
         neu.link=ListAddLast ObjList,neu
         Return neu
   EndFunction
   
EndType


was allerdings in folgender Fehlermeldung endet:
Zitat:
Compile Error
Unable to convert from 'TLink(TList,Object)' to 'brl.linkedlist.TLink'


Ich hoffe ihr könnt mir weiter helfen.. thx schonmal

Amroth

FOODy

BeitragMo, Jan 14, 2008 1:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei solchen Aktionen nicht die Klammern vergessen Wink (Sonst denkt der Compiler, wie man es aus der Fehlermeldung ja entnehmen kann, dass du ihm die Funktion "ListAddLast" übergeben willst.)

Code: [AUSKLAPPEN]
[...]
neu.link=ListAddLast(ObjList,neu)
[...]


Gruß,
FOODy

EDIT:
@Dreamora:
Schön erklärt.
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB
  • Zuletzt bearbeitet von FOODy am Mo, Jan 14, 2008 15:05, insgesamt einmal bearbeitet
 

Amroth

BeitragMo, Jan 14, 2008 1:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Bah, da ist die Lösung so einfach Very Happy

Danke vielmals
 

Dreamora

BeitragMo, Jan 14, 2008 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hat noch nicht mal etwas damit zu tun das er glaubt dass du was übergeben willst.

In Blitz ist klar festgelegt das: "Du willst eine Rückgabe, dann musst du () um den Funktionsaufruf packen"

Dadurch hat man auch ein recht gutes Styling Element um Queries (gibt einen Wert zurück) und Methoden (greift nur auf das Objekt zu) zu trennen
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

BladeRunner

Moderator

BeitragMo, Jan 14, 2008 17:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Btw. würde ich immer list.addlast() statt listaddlast nehmen, da dies wesentlich performanter ist.

Bei deinem fall also neu.link = Objlist.addlast(neu)
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group