Ungültiger Speicherzugriffzugriff bei einer LinkedList

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
wolle212
Beiträge: 31
Registriert: 23.04.2005 21:39
Wohnort: Leipzig
Kontaktdaten:

Ungültiger Speicherzugriffzugriff bei einer LinkedList

Beitrag von wolle212 »

Danke erst mal an alle Lesenden :-)

Ich habe eine LinkedList mit Strukturcharakter.
Ein paar entscheidende Elemente habe ich mit Zeigern versehen, sodass ich mittels ChangeCurrentElement(...) schnell darauf zugreifen kann.
Das ging auch gut, doch jetzt wollte ich den Teil in eine Prozedur packen und dann kam komischerweise diese Fehlermeldung: "Invalid memory access".

Dass bei PB4 Listen standardmäßig lokal sind, das habe ich beachtet; meine ist als globale deklariert - im Debugger wird die Zeile markiert, bei der er ich den ersten Wert auslesen will, also grob vereinfacht nach diesem Muster:

Code: Alles auswählen

Procedure xy(a,b,c)
ChangeCurrentElement(MeineListe(),*Pointer)
MeineListe\Wert = a*b ;hier taucht der Fehler auf
...
EndProcedure

Repeat
...
xy(5,3,8)
...
Until ...

Mich verwundert, dass es aber vorher ging, aber in der Prozedur nicht mehr.
Es gibt 10 Arten von Menschen: Jene, die das Binärsystem verstehen und jene, bei denen das nicht der Fall ist.

PB_4.20
WinXP_Pro_x32_SP3
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

der pointer muß aber auch global (oder shared) sein. sonst ist er in der proc #NULL, bzw er muß prinzipiell eine gültige adresse haben.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
wolle212
Beiträge: 31
Registriert: 23.04.2005 21:39
Wohnort: Leipzig
Kontaktdaten:

Beitrag von wolle212 »

Joooo ein dickes Dankeschön für die schnelle Antwort, #NULL :allright:
darauf hätte ich eigentlich auch kommen können :oops:
aber so ist das nun einmal, wenn man denkt, man habe an alles gedacht.

Thema kann geschlossen werden.
Es gibt 10 Arten von Menschen: Jene, die das Binärsystem verstehen und jene, bei denen das nicht der Fall ist.

PB_4.20
WinXP_Pro_x32_SP3
Antworten