[V4] Est-ce bien normal ça ??

Archive.
Avatar de l’utilisateur
Jacobus
Messages : 1520
Inscription : mar. 06/avr./2004 10:35
Contact :

[V4] Est-ce bien normal ça ??

Message par Jacobus »

Le code suivant permet qu'un gadget ne soit pas initialisé/dessiné et fonctionne quand même, aucun message du deboggeur.
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. 8O
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 
MYSTERE :
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
Quelle ne fut pas ma surprise après plusieurs compiles de me retrouver avec ça ! J'ai dû chercher un moment!

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
J'ai rien compris, l'éditeur m'avait sorti mes clearlist() de chaque procedure, sans rien dire... Un truc de Ouf! 8O
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.