Seite 1 von 1
Problem mit ReDim bei 2dimensionalem Array
Verfasst: 11.02.2009 11:55
von alter Mann
ich habe einen merkwürdigen Effekt
Code: Alles auswählen
Procedure Feldgroesse ( A.i(2))
ReDim A.i(3,20)
EndProcedure
Dim A.i (3,100)
Feldgroesse(A())
ergibt einen Laufzeitfehler mit Debugger
[Error] Only the last dimension of an array can be changed with ReDim
Code: Alles auswählen
Procedure Feldgroesse ( A.i(2))
ReDim A.i(3,20)
EndProcedure
Dim A.i (3,3)
Feldgroesse(A())
dagegen läuft durch
Verfasst: 11.02.2009 18:57
von PMV
In PB4.30 funktioniert beides nicht mehr. Gibt in beiden Fällen den von dir
zitierten Fehler.
MFG PMV
Verfasst: 11.02.2009 19:01
von Andesdaf
PMV hat geschrieben:In PB4.30 funktioniert beides nicht mehr. Gibt in beiden Fällen den von dir
zitierten Fehler.
Das stimmt. Ich glaube aber, er hat PB 4.2 und da tritt der Effekt auch auf.
Steht auch in seiner Sig.
Verfasst: 11.02.2009 19:25
von STARGÅTE
mal ganz nebenbei :
Es muss sowieso das schlüsselwort Array mit in die Procedure:
Code: Alles auswählen
Procedure Feldgroesse ( Array A.i(2))
ReDim A.i(3,20)
EndProcedure
Dim A.i (3,100)
Feldgroesse(A())
funzt aber trotzdem nicht

Verfasst: 11.02.2009 19:39
von Andesdaf
> Es muss sowieso das schlüsselwort Array mit in die Procedure:
Da er aber PB4.2 hat braucht er das noch nicht. Eben nur bei 4.3 wo ja
beides nicht mehr geht.
Verfasst: 11.02.2009 21:06
von PMV
Wenn man euch nicht hätte ... 3 Posts und nichts zum Thema
beigetragen. Na ihr seit dem alten Mann ja eine große Hilfe.

Oder wollt ihr mich einfach nur veräppeln?
Unglaublich, aber ich kann auch lesen, was in der Signatur steht ...
... und jeder, der hier was sinnvolles beitragen könnte ist dazu auch
in der Lage.
@alter Mann
http://www.purebasic.fr/english/viewtopic.php?p=277124
Jetzt heißt es wohl abwarten und Tee trinken.
Edit: Oh ... freak hat sehr schnell geantwortet: Diese
Funktionsweise wird von PB nicht unterstützt, du musst dir also was
anderes überlegen.
MFG PMV
Verfasst: 12.02.2009 00:36
von PMV
freak hat seine Antwort revidiert und den
Bug bestätigt.
Wink mit dem Zaunpfahl an die Mods. *gg*
Um seinen Fehler aus zu gleichen hat er direkt nen Workaround dazu
geschrieben:
Da es sich nur um ein Debuggerfehler handelt, kannst du das umgehen,
wenn du DisableDebugger vor ReDim aufrufst, und EnableDebugger dahinter.
Als Workaround bis der Fehler behoben ist sollte das "ok" sein.

Bzw. wenn du eh bei PB4.20 bleiben willst ... hast wohl keine andere
Möglichkeit.
MFG PMV
Verfasst: 12.02.2009 10:18
von alter Mann
danke für die schnelle Antwort
der Workaround ist ja nicht aufwändig und damit ok
für die Umstellung auf PB4.3 war ich bisher zu faul und da ich eher mathematisch unterwegs bin auch nicht zwingend notwendig, wenn ich
mal viel Zeit habe...
