Problem mit ReDim bei 2dimensionalem Array

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
alter Mann
Beiträge: 201
Registriert: 29.08.2008 09:13
Wohnort: hinterm Mond

Problem mit ReDim bei 2dimensionalem Array

Beitrag 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
Win11 64Bit / PB 6.0
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

In PB4.30 funktioniert beides nicht mehr. Gibt in beiden Fällen den von dir
zitierten Fehler.

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag 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.
Win11 x64 | PB 6.20
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7032
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag 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 :lol:
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag 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.
Win11 x64 | PB 6.20
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

:allright:

Wenn man euch nicht hätte ... 3 Posts und nichts zum Thema
beigetragen. Na ihr seit dem alten Mann ja eine große Hilfe. :lol:
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. :wink:

@alter Mann
http://www.purebasic.fr/english/viewtopic.php?p=277124
Jetzt heißt es wohl abwarten und Tee trinken. :roll:

Edit: Oh ... freak hat sehr schnell geantwortet: Diese
Funktionsweise wird von PB nicht unterstützt, du musst dir also was
anderes überlegen.

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag 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. :D
Bzw. wenn du eh bei PB4.20 bleiben willst ... hast wohl keine andere
Möglichkeit.

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
alter Mann
Beiträge: 201
Registriert: 29.08.2008 09:13
Wohnort: hinterm Mond

Beitrag 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... :mrgreen:
Win11 64Bit / PB 6.0
Antworten