String Array als (dynamische) Parameter

Anfängerfragen zum Programmieren mit PureBasic.
PeterJ
Beiträge: 28
Registriert: 05.02.2009 21:15

Beitrag von PeterJ »

ich war leider doch etwas voreilig, ich wollte nun die direkte Adressierung (@Tabelle1) durch eine Pointerübergabe ersetzen:

Code: Alles auswählen

*ref=@tabelle1
Debug "Test Fill T1 ..." 
Fill(*ref, ArraySize(tabelle1())) 
... und siehe da, FILL bricht mit "invalid memory access" ab:

Code: Alles auswählen

  *tabelle\text[i] = "Fill " + Str(i) 
und zwar (bei mir) in der 2. Iteration, vermutlich hat es aber vorher schon in Speicherbereiche geschrieben, die ihm nicht gehören

Alternativ habe ich dann das probiert:

Code: Alles auswählen

*ref.udtStringArray=@tabelle1
Debug "Test Fill T1 ..." 
Fill(*ref.udtStringArray, ArraySize(tabelle1())) 
leider das selbe Resultat.
Little John

Beitrag von Little John »

Das kommt davon, wenn man nicht EnableExplicit benutzt. :evil:

Du brauchst die Adresse des Arrays tabelle1()

Code: Alles auswählen

*ref = @tabelle1()
und nicht die Adresse einer (nicht deklarierten) normalen Variablen tabelle1.

Gruß, Little John
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Nich' so grob Johnny. <)

Ich habe auch lange ohne EE gearbeitet. Jeder fängt mal klein an. Er wird seine Erfahrungen schon machen :mrgreen:
Windows 10 Pro, 64-Bit / Outtakes | Derek
PeterJ
Beiträge: 28
Registriert: 05.02.2009 21:15

Beitrag von PeterJ »

Little John hat geschrieben:Das kommt davon, wenn man nicht EnableExplicit benutzt. :evil:
:oops:
Aber nachdem wir die Herzen des traurigen Grames erleichtert,
Lösen wir unsre Gespann', und schmausen allhier miteinander.
Sprach's, und begann Wehklag'; auch klageten alle Genossen.
Naß war der Sand von Tränen, und naß die Rüstung der Männer,
Welche den Held vermißten. Ilias, Homer
Little John

Beitrag von Little John »

War ich zu grob?
Wenn ja, tut's mir ehrlich leid.

Gruß, Little John
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

Little John hat geschrieben:War ich zu grob?
Wenn ja, tut's mir ehrlich leid.

Gruß, Little John
Der Smiley war vielleicht der falsche, deshalb hätte es den Eindruck erwecken
können. Vielleicht wäre Wink ( :wink: ) besser... :mrgreen:
Win11 x64 | PB 6.20
Antworten