une énigme : pourquoi ce code finit par planter ??!

Code : Tout sélectionner
InitSprite()
InitMouse()
InitKeyboard()
win=OpenWindow(#PB_Any, 0, 0, 0, 0, "Test", #PB_Window_Maximize | #PB_Window_BorderLess )
scr_w=WindowWidth(win)
scr_h=WindowHeight(win)
OpenWindowedScreen (WindowID(win),0 , 0, scr_w, scr_h, 0, 0, 0, #PB_Screen_SmartSynchronization)
LoadFont(1, "Times New Roman", 30)
a$="Pourquoi le pointeur de la souris 'Réfléchis' ?"
b$="Cliquez plusieurs fois et le code plante. Mais pourquoi ??"
Repeat
ClearScreen(RGB(40,40,40))
StartDrawing(ScreenOutput()) : DrawingMode(#PB_2DDrawing_Transparent)
DrawingFont(FontID(1))
x=TextWidth(a$)/2
y=TextHeight(a$)/2+30
x2=TextWidth(b$)/2
y2=TextHeight(b$)/2-30
DrawText((scr_w/2)-x+2,scr_h/2-y+2,a$,RGB(0,0,0)) ; ombre
DrawText((scr_w/2)-x,scr_h/2-y,a$,RGB(255,255,255)) ; texte
DrawText((scr_w/2)-x2+2,scr_h/2-y2+2,b$,RGB(0,0,0)) ; ombre
DrawText((scr_w/2)-x2,scr_h/2-y2,b$,RGB(255,255,255)) ; texte
StopDrawing()
FlipBuffers()
ExamineKeyboard()
Delay(1)
Until KeyboardPushed(#PB_Key_Escape)
End