Page 1 sur 1

[Corrigé] Bug ComboBox sous PB 6.01

Publié : mar. 09/mai/2023 15:14
par boddhi
 
Bug signalé sur le Forum US.

Le code ci-dessous fonctionne parfaitement de PB 5.72 à PB 6.00 (tests effectués sous W10 x64)
GetGadgetState() retourne le bon n° d'item

Or avec PB 6.01, GetGadgetState() retourne bien 0 pour le premier item mais -1 pour les items suivants identiques !

J'ai découvert ce bug alors que mon combobox recevait des données identiques après une requête SQL (Note : Retour de données identiques tout à fait normal et prévu)

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 270, 180, "ComboBoxGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ComboBoxGadget(0, 10, 10, 250, 21,#PB_ComboBox_Editable)
  AddGadgetItem(0, -1, "Item X")
  AddGadgetItem(0, -1, "Item X")
  AddGadgetItem(0, -1, "Item 4")
  AddGadgetItem(0, -1, "Item X")
  AddGadgetItem(0, -1, "Item X")
  StringGadget(1,10,40,250,21,"")
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        Break
      Case #PB_Event_Gadget
        If EventGadget()=0 And EventType()=#PB_EventType_Change
          SetGadgetText(1,Str(GetGadgetState(0)))
        EndIf
    EndSelect
  ForEver
EndIf
Edit : Précision de la version PB mise en cause

J'ai oublié de préciser que ce problème ne se produit pas quand il n'y a pas l'option #PB_ComboBox_Editable

Re: Bug ComboBox sous PB 6.01

Publié : mer. 10/mai/2023 8:03
par Micoute
Bonjour boddhi,

pour moi, l'erreur se produit justement avec l'option #PB_ComboBox_Editable où il répond -1 à la place d'indiquer la position cliquée, j'utilise la version 6.02 beta 3 LTS (x64)

Re: Bug ComboBox sous PB 6.01

Publié : mer. 10/mai/2023 20:41
par boddhi
Micoute a écrit : [...]
Bonsoir Micoute,
Boddhi a écrit : J'ai oublié de préciser que ce problème ne se produit pas quand il n'y a pas l'option #PB_ComboBox_Editable
Ma phrase était peut-être mal tournée mais effectivement, le bug se produit uniquement lors de l'emploi de #PB_ComboBox_Editable et ce, depuis, la version 6.01.
Avant, non !

L'excellent RASHAD sur le forum US me dit que c'est normal, que je ne devrais pas avoir plusieurs items identiques dans une liste combo.
Avis que je ne partage pas pcq :
1) Qu'est-ce qui l'interdirait ? Je distingue ces items identiques grâce à des SetGadgetItemData/GetGadgetItemData.
2) Pourquoi ça marche sans l'emploi de la constante ? Ce serait donc un bug dans ce cas-là !
3) Pourquoi ça fonctionnait très bien jusqu'à la version 6.00 comprise ? Ce serait donc un bug historique ?! Je ne crois pas...

En tout cas, ça m'allait très bien comme ça jusqu'ici !!! :D Donc, pourquoi changer un truc pratique et fonctionnel ?

Je n'ai pas testé avec les versions Beta. J'avoue ne jamais en installer. :)

PS : 6.05 ? j'en suis resté à la beta 6.02... Erreur de frappe ?

Re: Bug ComboBox sous PB 6.01

Publié : jeu. 11/mai/2023 6:53
par boddhi
Correction du bug annoncé par Fred.