Problème Listicon ne marche plus quand on fait un *.exe

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Problème Listicon ne marche plus quand on fait un *.exe

Message par julien »

Salut à tous,
J'ai un problème depuis quelques jours et j'y comprend rien du tout... :(

Je fais une petite application qui sera multi langue, pour choiris la langue j'utilise une list icon avec des images et ça marche bien avec le débugger puis quand on fait un *.exe et bien y' plus rien dans la liste !

Je vous met le source, essayez de complier un exe et de le lancer et le lancer avec pure...

http://auto26.com/PureBasic/langues.zip

Merci d'avance :)
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Salut Julien,

dans ce genre de problème tu dois avoir le réflexe suivant :

- Les images ne se chargent pas sans débugger

Donc il faut contrôler si les images se chargent dans les 2 cas avec et sans le débugger

Rajoutes la ligne suivante dans la procedure liste_langue() (c'est la messagerequester )

Code : Tout sélectionner

        Image=LoadImage(#pb_any,appdir$+"langues\"+icone$) 
         MessageRequester(appdir$+"langues\"+icone$, Str(Image), 16)
         If IsImage(Image)
            UseImage(Image) 
            AddGadgetItem(#ListIcon_0,-1,Left(nom_fichier$,Len(nom_fichier$)-4),ImageID())
            FreeImage(Image) 
         EndIf 
On voit tout de suite que icone$ ne retourne pas la bonne valeur sans débugger et pourquoi ,

regarde quelques lignes au-dessus dans la même procedure

Code : Tout sélectionner

       If ReadFile(1, appdir$+"langues\"+nom_fichier$)
         
        Debug res
        Debug ReadString()
        icone$=ReadString() 

Tu vois, le debug readstring sera effectué avec le débugger mais ne sera pas exécuté sans le débugger

Bien faire attention avec les debug

Modifie comme ceci et ça devrait aller

Code : Tout sélectionner

       If ReadFile(1, appdir$+"langues\"+nom_fichier$)
         
        Debug res
        ReadString()
        icone$=ReadString() 
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message par julien »

Merci Denis pour ton aide super bien expliqué et rapide (comme toujours)... oui mon erreur était vraiment très bête... et je n'ose pas dire le temps que j'ai passé à chercher...... :lol: :lol: je vais pourvoir continuer mon app et être moins tête en l'air :roll:

bonne soirée :)
Répondre