Scheint tatsächlich den Stack zu verknisknaddeln, zumindest bei x86 (und Win10?)
Aber der Code ist absolut furchtbar zur Ursachenforschung (o.k. nicht nur dafür...)!
Ich habe das mal aufs wesentliche reduziert:
Code: Alles auswählen
EnableExplicit
Procedure.d GetLineHeight()
VectorFont(LoadFont(0, "Segoe UI", 12), 12)
VectorTextHeight("a")
ProcedureReturn 15.2
EndProcedure
Procedure.d GetWholeHeight()
Protected Result.d
Result = 0.0
Debug "Stimmt: " + GetLineHeight()
Result + GetLineHeight()
Debug "Stimmt nicht: " + Result
ProcedureReturn Result
EndProcedure
OpenWindow(0, 0, 0, 500, 300, "Test")
CanvasGadget(0, 0, 0, 500, 300)
StartVectorDrawing(CanvasVectorOutput(0))
Debug "Stimmt natürlich auch nicht: " + GetWholeHeight()
StopVectorDrawing()
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow