Autor | Thema: Bug bei Übergabe von -1 ???? | | Datum:31.10.01 11:53 
(b.kuenzel@chello.at) | |
Hallo an alle Profaner,
bitte kann mir jemand das kleine Programm testen
>
SetTrueColor 1
Proc Test
Parameters Par1&,Par2%,Text$,Par4&,Par5&
Print Par1&,Par2%,Text$,Par4&,Par5&
EndProc
Cls
Test 0,1,"Text",RGB(240,240,240),-1
Print RGB(240,240,240)WaitInput
>
bei Parameter 4 ist der Wert um 1 niedriger und bei Parameter 5 ist der Wert statt -1 0
der Fehler ist beim Interpreter und beim Compilat
MFG
Bernhard
|
| | Datum:31.10.01 14:01 
(joerse@gmx.de) | |
Hallo Bernhard,
So funktioniert es:
Test 0,1,"Text",RGB(240,240,240),1 * -1
Außerdem scheint das Problem nur an fünfter Stelle aufzutreten.
Hat Roland wohl noch etwas Mehrarbeit bis Weihnachten ;-)
Jörg
|
| | Datum:31.10.01 14:12 
(NSp_ware@t-online.de) | |
Hallo,
Profan hat hier tatsächlich ein Problem. Als 4. Paramter wird nicht RGB(240,240,240) übergeben, sondern sinngemäß RGB(240,240,240)-1. Das Komma hinter dem 4. Parameter wird nicht als Trennzeichen erkannt. Somit wird der 4. Parameter (RGB-Wert) um 1 verringert und der 5. Parameter wird dann 0. Das Ganze ist eine böse Falle, da der Fehler nicht unbedingt gleich auffällt.
Mit einer zusätzlichen Einklammerung klappt es aber.
Test 0, 1, "Text", (RGB(240,240,240)), -1
MfG
Norbert
|
| | Datum:31.10.01 17:31 
(rgh-soft@t-online.de) | |
Ooops ... da hat der Parser mit der Minuszahl noch ein kleines Problem. Als Abhilfe reicht es auch, die Zahl mit dem Minuszeichen in Klammern zu setzen
Test 0, 1, "Text", RGB(240,240,240),(-1)
Das Problem tritt aber NUR bei Prozeduraufrufen auf und nur dann, wenn eine negative Zahl als Literal (oder eine Variable mit negativem Vorzeichen) hinter einem Funktionsaufruf folgt.
Da habe ich wohl wirklich noch was zu tun. Ob ich das Problem aber noch in der 7.5 behebe, kann ich nicht versprechen. Eingriffe in den Parser sind immer komplexere Operationen.
|
| | Datum: 31.10.01 17:56 
(b.kuenzel@chello.at) | |
Danke Jörg und Norbert für die schnelle Lösung dieses Problems.
MFG aus Innsbruck
Bernhard
|
|
|