Global list:TList = CreateList() innerhalb eines Types
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
remaBetreff: Global list:TList = CreateList() innerhalb eines Types |
Fr, Jun 03, 2005 15:15 Antworten mit Zitat |
|
---|---|---|
Was ist daran falsch? Den die Fehlermeldung lautet:
Compile Error Type global initializer must be constant Code: [AUSKLAPPEN] Type test
Global list:TList = CreateList() Field a:String Field x:Int End Type Ich möchte eben nur diese Liste innerhalb des Types ansprechen können. Oder mache ich ein Gedankenfehler? |
||
Timo |
Fr, Jun 03, 2005 15:25 Antworten mit Zitat |
|
---|---|---|
(ich habe kein Bmax, drum kann es sein, das ich jetzt Müll laber)
ich glaub, es liegt daran, das du sofort hinter Global die Variable list "Createst". Also es müsste glaub ich "Global list:TList" heißen und erst in einer Methode schreibst du dann "list=CreateList()" |
||
TheShadowModerator |
Fr, Jun 03, 2005 15:41 Antworten mit Zitat |
|
---|---|---|
mach
Field List:TList alles andere geht nicht |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
rema |
Fr, Jun 03, 2005 16:13 Antworten mit Zitat |
|
---|---|---|
Aber wen ich mit
list.addlast = _img Ein Image hinzufügen will, so bekomme ich die nächste Fehlermeldung. |
||
Timo |
Fr, Jun 03, 2005 16:19 Antworten mit Zitat |
|
---|---|---|
das sind alles Syntax probleme
du hast eine Funktion die "addlist" heißt? Ich denke mal, dann willst du das image übergeben. die übergabe muss allerdings in Klammern BlitzMax: [AUSKLAPPEN]
mit dem = Zeichen weist du etwas zu, hier weißt du etwas einer funktion zu, das geht leider nicht |
||
rema |
Fr, Jun 03, 2005 16:33 Antworten mit Zitat |
|
---|---|---|
Genau. Das ist es eben bei OOP, man muss sich so einiges umgewöhnen.
Wie sieht es mit einer TListe aus? Kann man dort alles reinpacken, also Variabeln die diverses beinhalten? |
||
Timo |
Fr, Jun 03, 2005 16:40 Antworten mit Zitat |
|
---|---|---|
TListe ist eine Klasse, die du selber programmiert hast (haben musst). Klar kannst du dort so viele Variablen deklarieren, wie du willst sie können auch alles speichern, selbst andere objekte. Du musst es dem Compi nur sagen (sprich programmieren)
PS: diese Syntaxprobleme haben weniger mit OOP zu tun |
||
bruZard |
Fr, Jun 03, 2005 16:48 Antworten mit Zitat |
|
---|---|---|
Mann Timo, halte einfach mal die Backen ...
@rema: Code: [AUSKLAPPEN] Type Test Global list:TList Field a:String Field x:Int Method New() if list:TList = Null Then list = New TList list.AddLast(Self) End Method Method SetX(_x:Int) x = _x End Method End Type |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
TheShadowModerator |
Fr, Jun 03, 2005 19:17 Antworten mit Zitat |
|
---|---|---|
bruz warum machst du das:
list.AddLast(Self) |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Jolinah |
Fr, Jun 03, 2005 20:05 Antworten mit Zitat |
|
---|---|---|
Er hat eine Globale Liste, die ist statisch. Beim Objekt erstellen prüft er dann ob es schon eine Liste gibt, wenn nicht erstellt er eine. Dann fügt er der Liste das neuerstellte Objekt hinzu (Self). | ||
- Zuletzt bearbeitet von Jolinah am Fr, Jun 03, 2005 20:06, insgesamt einmal bearbeitet
DivineDominion |
Fr, Jun 03, 2005 20:05 Antworten mit Zitat |
|
---|---|---|
Oh mann
bruZards Code erstellt ne Liste die alle Instanzen des eigenen Type beinhalten. Existiert die Liste nicht, wird sie erstellt. Ist doch IMHO ziemlich einfach und leicht ershcließbar |
||
christian.tietze@gmail.com - https://christiantietze.de
macOS |
Dreamora |
Fr, Jun 03, 2005 20:13 Antworten mit Zitat |
|
---|---|---|
Jopp
Ist der "Fake" vom alten Blitz Type Handling und überdies eine einfache und sinnvolle Variante mit BMs GarbageCollector umzugehen, da man so ein objekt einfach deleten kann: Einfach mittels remove aus der Liste löschen |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
rema |
Fr, Jun 03, 2005 20:15 Antworten mit Zitat |
|
---|---|---|
Divi: Nicht für alle ist es auf Anhieb gleich verständlich. Wen es so wäre, so würde dieses Board nicht exestieren.
Aber trotzdem: Danke an alle! |
||
TheShadowModerator |
Sa, Jun 04, 2005 9:02 Antworten mit Zitat |
|
---|---|---|
Ach so ja, jetzt sehe ich es... Oh ich habes immer mit externen Listen gemacht... Das ist praktisch...
So was ist, wenn man ein Obj. aus deiner Liste entfernt, aber eine andere Obj-Variable hat es noch referenziert - dann wird es aus dem Speicher nicht gelöscht... Darum ist es kein Vergleich mit BB-Klassischen DELETE |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Dreamora |
Sa, Jun 04, 2005 10:05 Antworten mit Zitat |
|
---|---|---|
Wenn man die Typen in einer anderen Struktur noch referenziert, macht diese Liste natürlich wenig Sinn (zb eine Liste der Partikel in einem Partikelsystem ist nutzlos, da sie ja schon an Emitter und/oder Partikeltypen gebunden sind). | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group