Page 1 sur 1

Problèmes avec la librairie MoreListIconGadget 1.31

Publié : ven. 16/sept./2005 22:55
par RegisLG
Bonjour,

j'ai installé la dernière version de PureBasic dispo (3.94 - Update 1) sous XP PRO SP2.
J'ai récupéré la librairie de Denis ici :
http://denislabarre.free.fr/Librairies/ ... t_1_31.exe
J'ai lancé l'install puis j'ai testé les exemples (newbie inside ;)).

Je rencontre 3 types d'erreurs :
Constant not found (ça c'est pas grave, suffit juste d'enlever les commentaires pour #PB_Even / #PB_Odd)
Invalid Memory Access (plus ennuyeux car ça plante, ça se produit le plus souvent à la fermeture du prog)
Window Object Not Initialized (euh..)

Les exemples concernés sont :

GetColumnHeaderFont (Invalid Memory Access)
GetColumnHeaderText (Window Object Not Initialized)
LockColumnSize (Invalid Memory Access)
RemoveItemsColor (Constant not found & Invalid Memory Access)
SetColumnColor (Constant not found & Invalid Memory Access)
SetColumnHeaderColor (Invalid Memory Access)
SetHeader (Invalid Memory Access)
SetItemColor (Invalid Memory Access)
SetListiconSelectedMode (Invalid Memory Access)
SetRowColor (Constant not found & Invalid Memory Access)

J'ai refait une install "de base" de PB, testé avec la vieille version 3.93 et j'ai toujours les mêmes erreurs...
1) Suis-je le seul chez qui ça plante ?
2) Avez vous une idée pour corriger cela ?

Publié : dim. 18/sept./2005 8:02
par Anonyme2
J'ai fait des corrections en juin sur cette lib (j'ai jamais du le signaler sur le forum fr ni le forum en :roll: car c'est suite à des pb signalés par un membre du forum anglais) et j'ai mis une version corrigée sur mon site, il n'y a que la librairie elle-même, ce fichier est à mettre dans le dossier Purebasic\PureLibraries\UserLibraries en remplacement de l'ancien

Le fichier est ici

Par contre, je n'ai pas fait de tests avec la version 3.94, peut-être qu'il y a encore des problèmes ...

Merci de me les signaler

Publié : lun. 19/sept./2005 18:47
par RegisLG
Merci Denis, effectivement c'est beaucoup mieux avec le patch.
J'ai re-testé vite fait (juste savoir si les exemples plantent ou pas), et apparement il n'en reste qu'un qui pose encore problème :

GetColumnHeaderText

Soit il me met "Ligne83:Window object not initialized" quand je ferme l'appli ou alors il plante carrément en cours d'execution.

Sinon, sur d'autres exemples, il y a quelques erreurs "cosmétiques" mais il faut que je trouve le temps de voir ça de plus près, en tout cas ça ne plante plus, c'est donc bien mieux.

Publié : mar. 20/sept./2005 11:55
par lionel_om
Faut modifier le callBack() je crois.
Car pendant la destruction des objets le CallBack() est tjrs appelé et donc il peut se mettre sur certains obj alors qu'ils viennent d'être détruits.

T'as qu'a créer un fonction :

Code : Tout sélectionner

Procedure EmptyCallBack(....)
   Procedurereturn #(La cste PureBasic Event)
Endprocedure
Et lors de la fin du prog avant le 'End' : SetWindowCallBack(@EmptyCallBack())

:wink:

Publié : mer. 21/sept./2005 18:29
par Anonyme2
RegisLG a écrit :Merci Denis, effectivement c'est beaucoup mieux avec le patch.
J'ai re-testé vite fait (juste savoir si les exemples plantent ou pas), et apparement il n'en reste qu'un qui pose encore problème :

GetColumnHeaderText

Soit il me met "Ligne83:Window object not initialized" quand je ferme l'appli ou alors il plante carrément en cours d'execution.

Sinon, sur d'autres exemples, il y a quelques erreurs "cosmétiques" mais il faut que je trouve le temps de voir ça de plus près, en tout cas ça ne plante plus, c'est donc bien mieux.
Ces fonctions doivent dater d'avant les fonctions PB ISxxxx qui permettent d'éviter ces problèmes

Simplement, la ligne 83 devient

Code : Tout sélectionner

            If IsWindow(#WindowRequester) = 0
et le problème est résolu

Publié : jeu. 22/sept./2005 23:09
par RegisLG
Merci Denis, effectivement ça fonctionne impec :)