[PB 4.20 B2] Macro-Bug (Macro-Name in Macro verwenden)

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
Leonhard
Beiträge: 602
Registriert: 01.03.2006 21:25

[PB 4.20 B2] Macro-Bug (Macro-Name in Macro verwenden)

Beitrag von Leonhard »

Hier erst mal der Code:

Code: Alles auswählen

Macro Array(Datatype)
  Array#Datatype
EndMacro

Define *array.Array(b)
Sollte nicht PureBasic, trozt ich den Macro-Namen im Macro verwende, die Funktion des #-Zeichens (verketten zweiter Token) im Macro ausführen?
Auf gut deutsch: Warum übersetzt das Macro den Code nicht so, wie als wenn ich den Macro-Namen z.B. auf "m_Array" stelle?
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

ich würde sagen bug.
mit 'endless recursivity' hatt es ja auch nix zu tun.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Code: Alles auswählen

Macro Array(Datatype)
  Datatype
EndMacro

Define *array.Array(b)
??? Bild
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

du meinst warum das hier:
Macro Array(Datatype) 
  Array#Datatype 
EndMacro 
Define *array.Array(b)

nicht das gleiche ist wie das hier
Macro AArray(Datatype)
Array#Datatype
EndMacro
Define *array.AArray(b)

einmal kommt *array.Arrayb raus und
beim andere *array.Array#b

hmm jo ich denke mal BUG aber du solltest trotzdem vermeiden das Macros gleich Variablen, Structuren, oder andere Wörter sind , wenn du so eine Art fehler vermeiden willst

EDIT


Dann mach es halt so:

Code: Alles auswählen

Macro MyArray
 Array
EndMacro
Macro Array(Datatype) 
  MyArray#Datatype 
EndMacro 

Define *array.Array(b)
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
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Ich steh gerade komplett aufm Schlauch ...

PS: Der Code geht immer noch nicht
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Leonhard
Beiträge: 602
Registriert: 01.03.2006 21:25

Beitrag von Leonhard »

Ich habs jetzt geändert, so das es funktioniert (statt 'Array' einfach 'Array_' im Macro, hab das im Prog halt umgeschieben).

Trotzdem ist so ein Fehler schon mal nen grund zum mekkern :lol:
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

der Fehler besteht darin, dass du keine Compiler-Fehlermeldung bekommst.
eigentlich sollte das garnicht angenommen werden, weil Macros von ihrer Natur her nicht rekursiv sein können.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten