Je trouve que ça craint surtout quand tu te retrouves avec plusieurs milliers de lignes de code et que tu préfères dessiner tes gadgets après...
Ca m'est arrivé ce matin et je me suis étonné de ce fait.
La soluce est simple, dessiner le gadget en premier, mais tout de même...
Code : Tout sélectionner
Enumeration
#WIN
#BTN_ABOUT
EndEnumeration
#PROGNAME = "TEST"
FlagWin = #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered |#PB_Window_TitleBar
If OpenWindow(#WIN,0,0,300,150,#PROGNAME ,FlagWin)=0 Or CreateGadgetList(WindowID(#WIN))=0
End
EndIf
;PAS DE GADGET INITIALISE !!!
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget()
Case #BTN_ABOUT
MessageRequester("BUG","Il y a comme un problème, non?",#MB_ICONEXCLAMATION)
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
End
Autre truc etonnant, et encore plus...
j'utilise plusieurs structures dans un code sous la forme suivante :
Code : Tout sélectionner
Structure Struc_test
Nom.s
Prenom.s
Date.s
EndStructure
Global NewList ITEMS.Struc_test()
Procedure.b CLEAR_ITEMS()
ClearList(ITEMS())
ProcedureReturn 1
EndProcedure
Code : Tout sélectionner
Structure Struc_test
Nom.s
Prenom.s
Date.s
EndStructure
Global NewList ITEMS.Struc_test()
ClearList(ITEMS()) <------ SORTIE DE LA PROC!!!
Procedure.b CLEAR_ITEMS()
ProcedureReturn 1
EndProcedure