Seite 1 von 2

Select-Bug mit Quads [PB V4.02]

Verfasst: 31.08.2007 19:08
von NicTheQuick
Hat den schon jemand entdeckt?

Einfach mal für 'mc.q' Zahlen von 1 bis 12 einsetzen und schauen, was
rauskommt. Mit 'mc.l' funktioniert alles tadellos.

Code: Alles auswählen

Define mc.q

mc = q

Select mc
  Case 1, 10 : mc = 0
  Case 5 : mc = 1
  Case 8 : mc = 2
  Case 2, 3, 11 : mc = 3
  Case 6 : mc = 4
  Case 9, 12 : mc = 5
  Case 4, 7 : mc = 6
EndSelect

Debug mc
Gibt es den Bug auch noch in V4.10?

Verfasst: 31.08.2007 19:49
von Sicro
Bug besteht bei PB 4.10 Beta 3 immer noch:

Code: Alles auswählen

mc=1 -- Debug=3
mc=2 -- Debug=0
mc=3 -- Debug=0
mc=4 -- Debug=0
mc=5 -- Debug=0
mc=6 -- Debug=0
mc=7 -- Debug=0
mc=8 -- Debug=0
mc=9 -- Debug=0
mc=10 -- Debug=0
mc=11 -- Debug=0
mc=12 -- Debug=0
Mfg Sicro

Verfasst: 31.08.2007 20:16
von NicTheQuick
Wahnsinn! :o

Hat das vorher noch niemand gemerkt? :?

Verfasst: 31.08.2007 21:11
von Ligatur
Hallo,

Gemerkt hat es wohl deshalb noch keiner, weil mir nicht viel dazu einfällt warum man die Variable, die man mit Select abfragt im Select - Block verändern sollte.

Gruß,
Ligatur

Verfasst: 31.08.2007 22:08
von PMV
Mal davon abgesehen, dass das einer der überflüssigen Kommentare
war, die man hier immer mal wieder gerne auf Bugmeldungen kommt, so
ist dass auch der fall, wenn sich die Variablen unterscheiden.

PB V4.02

Code: Alles auswählen

Define mc.q 

ml.q = 5 

Select ml 
  Case 1, 10 : mc = 0 
  Case 5 : mc = 1 
  Case 8 : mc = 2 
  Case 2, 3, 11 : mc = 3 
  Case 6 : mc = 4 
  Case 9, 12 : mc = 5 
  Case 4, 7 : mc = 6 
EndSelect 

Debug mc
Debugger hat geschrieben:0
MFG PMV

Verfasst: 31.08.2007 22:33
von Kaeru Gaman
ich bin nicht sicher, ob ich das schon mal im englischen bug-forum gelesen hab... kommt mir fast so vor...

scheint sowas ähnliches zu sein wie das For-problem... da gabs doch auch mit anderen typen als Long probleme....

Verfasst: 31.08.2007 22:40
von ts-soft
Kaeru Gaman hat geschrieben:ich bin nicht sicher, ob ich das schon mal im englischen bug-forum gelesen hab... kommt mir fast so vor...
http://www.purebasic.fr/english/viewtop ... 822#205822
Warum dort ASM genutzt wird ist mir nicht so klar, sollte man vielleicht
hierhin verweisen.
Kaeru Gaman hat geschrieben: scheint sowas ähnliches zu sein wie das For-problem... da gabs doch auch mit anderen typen als Long probleme....
Das For nur long unterstützt ist eine andere Sache und kein Bug, lediglich
eine Einschränkung. Aber in einem Case Statement sollte Quad funktionieren.

Verfasst: 31.08.2007 23:06
von Kaeru Gaman
> Aber in einem Case Statement sollte Quad funktionieren.

dann ist das ein noch übergebliebener Bug, von den vielen Hi-DWord Problemen, die die Quad-Einführung hatte....

> sollte man vielleicht hierhin verweisen.

oder Nic soll sein Beispiel dort posten...
könnte ja sein, dass Fred das mit reinem PB eingänglicher ist...

Re: Select-Bug mit Quads [PB V4.02]

Verfasst: 31.08.2007 23:22
von michel51
NicTheQuick hat geschrieben: Einfach mal für 'mc.q' Zahlen von 1 bis 12 einsetzen und schauen, was
rauskommt.
Gibt es den Bug auch noch in V4.10?
Wenn das so richtig ist (erweiterter Code):

Code: Alles auswählen

Define mc.q
For q = 1 To 12
mc = q

   Select mc
     Case 1, 10 : mc = 0
     Case 5 : mc = 1
     Case 8 : mc = 2
     Case 2, 3, 11 : mc = 3
     Case 6 : mc = 4
     Case 9, 12 : mc = 5
     Case 4, 7 : mc = 6
   EndSelect
   
   Debug "q: "+Str(q) + "  mc: "+Str(mc)
Next
dann ist das ergebnis so, wie es seine soll:

Code: Alles auswählen

q: 1  mc: 0
q: 2  mc: 3
q: 3  mc: 3
q: 4  mc: 6
q: 5  mc: 1
q: 6  mc: 4
q: 7  mc: 6
q: 8  mc: 2
q: 9  mc: 5
q: 10  mc: 0
q: 11  mc: 3
q: 12  mc: 5
auf dem Mac :mrgreen:

Verfasst: 31.08.2007 23:30
von ts-soft
@michel51
Dein Beispiel hat 2 Haken :wink:
NcikTheQuick meinte bestimmt die Windowsversion. Ist zwar schön das es
auf dem Mac funktioniert, aber der Testcode sagt nichts auch, da For : Next
nur Long unterstützt (aus Geschwindigkeitsgründen vermute ich mal)

Also andere Schleife nehmen, z.B. While Wend und nochmal testen, damit wir
Wissen obs unter Mac wirklich geht.

Dann kaufen wir alle uns eben schnell nen Mac :mrgreen: