Code: Alles auswählen
PB-Version: 5.62 (Windows - x64)
OS: Windows 10, 64 Bit
Compilereinstellungen:
[ ] Enable inline ASM syntax coloring
[x] Create threadsafe executable
[ ] Enable OnError lines support
[x] Enable modern theme support (for Windows XP and above)
[ ] Request Administrator mode for Windows Vista and above
[ ] Request User mode for Windows Vista and above (no virtualisation)
Im folgenden Snippet führe ich den Test einmal mit Macro und dann nochmal mit einer Prozedur durch. Die Prozedur liefert in beiden Fällen ein fehlerloses Ergebnis.
Wenn ich im Macro lediglich die beiden erhaltenen Parameter addiere, entsteht kein falsches Ergebnis. Jede andere mathematische Operation (Minus, Mal, Geteilt, Wurzel, etc.) liefert ein falsches Ergebnis bei nicht geklammerter Parameter-Übergabe. Mit Debug im Macro lässt sich leicht überprüfen, daß die Parameter auf jeden Fall richtig erhalten werden, egal ob mit Klammer oder ohne.
Code: Alles auswählen
EnableExplicit
Define value = 2
Macro _TestMacro(x0,x1)
Debug x0*x1 ;Operation (alle Operatoren außer + produzieren ein fehlerhaftes Ergebnis)
EndMacro
Procedure testProcedure(x0,x1)
Debug x0*x1
EndProcedure
Debug ""
Debug "Macro"
_TestMacro(10,value+1) ;Ohne Klammer
_TestMacro(10,(value+1)) ;Mit Klammer
Debug ""
Debug "Procedure"
testProcedure(10,value+1) ;Ohne Klammer
testProcedure(10,(value+1)) ;Mit Klammer
Debug ""
Debug "Macro (direkte Übergabe der Parameter)"
_TestMacro(10,3)
End
Thread verschoben
Bugs>Anfänger
01.06.2018
RSBasic