Code: Alles auswählen
Global Dim SArray.s(200)
SArray(10) = "2.3"
Global SGlobal.s
SGlobal = ""
Procedure Change()
SGlobal = "Something"
EndProcedure
Procedure Test()
Debug SArray(10) ; Immer "2.3"
Debug ValF(SArray(10)) ; Immer "2.0" anstatt "2.29...", wenn SGlobal geändert wird!
EndProcedure
;Change()
Test()I habe es mit PB 4.51 32bit, aktiviertem Unicode und Threadsafe kompiliert. Der Fehler entsteht bei Windows Vista (Dual Core). Auf meinem Entwicklungsrechner (Windows XP, Single Core) kann ich es jedoh nicht nachvollziehen. Weiter scheint der Fehler mit der vor einigen Monaten kompilierten Executable erst seit einigen Wochen (Windows-Update?!) zu kommen.
Was ich also fragen will ist: Unter welchen Umständen kann ValF() falsche Ergebnisse zurückgeben?
(Hinweis: Ich habe selbiges auch im englischen Forum nachgefragt http://www.purebasic.fr/english/viewtop ... 6&p=361356)