Macro / EndMacro

Fragen und Bugreports zur PureBasic 4.0-Beta.
Benutzeravatar
Sylvia
verheiratet<br>1. PureGolf-Gewinner
Beiträge: 487
Registriert: 29.08.2004 09:42
Wohnort: Old Europe

Macro / EndMacro

Beitrag von Sylvia »

Im Gegensatz zu
kann ich Macros bereits verwenden, bevor ich sie definiert habe.

Das wirkt auf mich nicht sehr konsequent und ausgereift. Da fehlt irgendwie
die logische Linie. :freak:
Basic Pur = PureBasic
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Wie verwendest Du Macros vor der Definition?
Bei mir geht das nicht :freak:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Sylvia
verheiratet<br>1. PureGolf-Gewinner
Beiträge: 487
Registriert: 29.08.2004 09:42
Wohnort: Old Europe

Beitrag von Sylvia »

Code: Alles auswählen

Macro a
	b		; b wird vor der Definition benutzt
EndMacro

Macro b
	Debug $FFFF
EndMacro

a
:|
Basic Pur = PureBasic
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Schwer zu erklären, aber es ist keine Deklaration!
Macro a weißt den Compiler an, alle vorkommen von a gegen b zu tauschen,
Macro b weißt den Compiler an, dieses gegen die DebugAusgabe zu
tauschen. Das Geschehen ist aber erst an der Stelle wo a steht.
Beide Macros stehen davor, also keine Probleme.

War das Verständlich :? :lol:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Er will damit sagen, dass es so nicht geht:

Code: Alles auswählen

Macro b 
  Debug $FFFF 
EndMacro 

a 

Macro a 
  b      ; b wird vor der Definition benutzt 
EndMacro 
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

In Macros gibts ja keine Typen. Der Compiler schleppt nur eine
Austauschliste mit sich rum, wo er nachguckt.
Deklaration reserviert ja Speicher, dafür müssen die Typen ja bekannt sein.

Danach gebe ich erstmal auf

:mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Nik
Beiträge: 132
Registriert: 04.02.2005 19:57

Beitrag von Nik »

Da es da schon ein paar Bug reports im englischen Forum gab wird das sich wohl erledigen...
www.KoMaNi.de
Eine kleine Gruppe von Hobby Programmierern, die gerade einen Instant Messenger natürlich in PureBasic schreiben.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Nik hat geschrieben:Da es da schon ein paar Bug reports im englischen Forum gab wird das sich wohl erledigen...
Wieso Bug? Das ist das normale und durchaus logische Verhalten des Parsers.
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Gesperrt