[V4] Bizarre, vous avez dit bizarre, comme c'est bizarre...

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

[V4] Bizarre, vous avez dit bizarre, comme c'est bizarre...

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.
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Message par flaith »

pour le permier cas, je n'ai aucun bouton qui s'affiche, donc c'est zarb' ton truc, idem pour le second cas, après +sieurs essais de compilo, rien n'a bougé.
T'as un poltergeist dans ton micro ? :D
Avatar de l’utilisateur
Jacobus
Messages : 1520
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

:) Oui dans le premier cas le bouton n'est pas dessiné, c'est donc normal de pas le voir. Ce qui est anormal à mon avis c'est que la compile se fasse sans alerte du deboggeur.
On devrait obtenir le message du genre " #BTN_ABOUT, gadget non initialisé" enfin il me semble.

Pour le reste c'est sûr que c'est plutôt Zarbi :lol: , mais là je vois pas d'où cela vient. Ca reste un grand mystère.
Une IA Poltergeist dans PB ? ouais, peut-être :lol:
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.
Gillou
Messages : 373
Inscription : sam. 28/août/2004 17:35
Localisation : Bretagne, 22
Contact :

Message par Gillou »

A mon avis, il ya une toute nouvelle fonction dans pb 4. Dès qu'elle détecte dans un ordi le mot 'jacobus', ... déclage des clearlist

et pour le premier cas, c vrai que c une bonne idée mais bon ça permet tout de meme de tester un code meme si il est pas fini graphiquement, non?
Avatar de l’utilisateur
Jacobus
Messages : 1520
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Ouaip, n'empêche que cela aurait été bien de le savoir qu'une appli peut être compilée sans les gadgets. le genre d'exemple à mettre dans la doc.

Je vais piéger quelques fichiers histoire de chopper ce modificateur de codes in PB4 :lol:
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.
Répondre