Seite 1 von 1
Linked List
Verfasst: 24.03.2007 22:22
von dietmar
Ja ich weiß dieses Thema wurde schon oft durchgekaut. Und Ja ich hab auch die vielen Zitate gelesen das die LinkedList Global ist. Und trotzdem nocheinmal die Frage kann es sein das wenn ich eine Liste innerhal einer Prozedure füllen will das diese innerhalb der Prozedure Gültigkeit hat und auch da die Werte speichert. Aber außerhalb der Prozedur ist die Liste wieder leer.
Weiß jemand abhilfe?
Ja ich hab die hilfe bemüht.
Ja ich hab die Forensuche bemüht.
Ja ich bekenne mich schuldig es immer nich nicht verstanden zu haben
Verfasst: 24.03.2007 22:26
von Kaeru Gaman
> Und Ja ich hab auch die vielen Zitate gelesen das die LinkedList Global ist.
dann hast du alte posts gelesen.
seit 4.0 ist die LL nicht mehr Global, außer du machst sie selber dazu indem du das schlüsselwort Global benutzt.
Verfasst: 24.03.2007 22:45
von dietmar
Das mit Global hab ich mir auch gedacht hat leider nicht geholfen.
Wenn es doch nur so einfach wäre. Aber danke schon mal für die schnelle Antwort.
Mal noch kurz was anderes. Ich find die Forensuche ja soweit super aber wie soll man denn den überblick behalten was noch richtig ist und was nicht?
Verfasst: 24.03.2007 23:02
von dietmar
Hm das seltsame ist auf einmal geht es ohne jede Änderung nur einmal den Editor zu- und wieder aufmachen. Kann mir das einer Erklären?
Verfasst: 24.03.2007 23:13
von ts-soft
Ohne
Glaskugel leider nicht
Verfasst: 24.03.2007 23:45
von AND51
Du kannst deine LinkedList, die außerhalb einer Prozedur definiert wurde, innerhalb einer Prozedur benutzen, indem du sie teilst (
Shared), als Parameter übergibst oder, wie bereits erwähnt, global (
Global) definierst.
@ Editor auf und zu machen: Hast du vielleicht PB 4.0 und eine ältere PB Version paralell installiert und dann deinen Code versehentlich und unwissentlich in zwei verschiedenen PB Versionen probiert? Anders kann ich es mir nicht erklären - es sei denn, dein Computer hatte ein seelisches Tief, während du den 1. Versuch gestartet hast...

Verfasst: 26.03.2007 01:26
von Thalius
dein Computer hatte ein seelisches Tief, während du den 1. Versuch gestartet hast... Wink

meiner hat das jedesmal wenn er das Windowslogo auch nur im entferntesten darstellen muss ...
-- Zum Topic
Methode 1:
Code: Alles auswählen
...
GLOBAL Mylist.Mystructure
...
Procedure fillMyList()
...
Mylist\value = xy
...
Endprocedure
Methode 2:
Code: Alles auswählen
Mylist.Mystructure
Procedure fillMyList()
SHARED Mylist
...
Mylist\value = xy
...
Endprocedure
Methode 3:
Code: Alles auswählen
Structure foo
a.l
b.s
EndStructure
abc.foo
OpenConsole()
Procedure setfoo(*thisabc.foo)
*thisabc\a = 77
EndProcedure
setfoo(@abc)
PrintN("foo: "+Str(abc\a)+" () "+abc\b)
Delay(10000)
Thalius
Verfasst: 26.03.2007 01:49
von ts-soft
Methode 4 (die empfohlene

)
Code: Alles auswählen
Structure Mystructure
value.l
; ...
; ...
EndStructure
Procedure fillMyList(list.Mystructure())
AddElement(list())
list()\value = 3
AddElement(list())
list()\value = 4
EndProcedure
NewList Mylist.Mystructure()
; AddElement(Mylist())
; Mylist()\value = 1
; AddElement(Mylist())
; Mylist()\value = 2
fillMyList(Mylist())
ForEach Mylist()
Debug Mylist()\value
Next
Verfasst: 26.03.2007 15:07
von Thalius
Methode 4 ...
- sollte auch nur n Beispielcode sein
Thalius