Page 1 sur 1

[R] Utilisation d'une DLL

Posté : mer. 10 févr. 2010 15:25
par Narmeke
Bonjours tous le monde,

Me voilà avec un problème. Je ne comprend pas du tous comment utiliser une DLL. J'en est créer une grâce au Tuto de @Tlem, mais je ne comprend pas comment en utiliser les ressources.
J'ai lu la Doc, a,si que l'aide Scite mais les exemples de code ne sont pas claire.

Exemple : J'ai insérer plusieurs images dans une DLL et je voudrais ar exemple en utiliser une comme pic.

Si vous pouviez m'éclairais sur quelques fonction cela serais super. :lol:



Merci d'avance pour votre aide.

Re: [..] Utilisation d'une DLL

Posté : mer. 10 févr. 2010 21:35
par Tlem
Vous avez tout ce qu'il vous faut ici : http://www.autoitscript.fr/forum/viewto ... f=11&t=513

Re: [..] Utilisation d'une DLL

Posté : jeu. 11 févr. 2010 14:57
par Narmeke
Merci énormément @Tlem.
Je viens de comprendre mais un problème s'ouvre a moi :x

Lors de l'xecution du script Windows m'informe que "Le programme a cessé de fonctionner" !
Que faire ?
J'ai tester en ajoutant les droits admin, en enlevant les paramètres de $Pic1 mais toujours la même chose.

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Includes\Ressources DLL.au3>

$Form1 = GUICreate("Form1", 625, 445, 268, 125)
;$Pic1 = GUICtrlCreatePic("", 56, 40, 417, 257, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic1 = GUICtrlCreatePic("", 56, 40, 417, 257)
[color=#FF0000]DllOpen("WSB_First.dll")[/color]
_ResourceSetImageToCtrl($Pic1, "BE_CONSTRU", $RT_RCDATA, "WSB_First.dll")
GUISetState(@SW_SHOW)


While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
WEnd
 
Edit : En rouge la correction

Encore une dernière chose :P
Je veux actualiser une image comme avec :

Code : Tout sélectionner

GUICtrlSetImage
 
Par exemple je veux changer image_1 dans mon pic par image_2 sachant que les 2 images sont dans la DLL !
Une fonction existe elle déja ?

Re: [..] Utilisation d'une DLL

Posté : jeu. 11 févr. 2010 22:34
par Tlem
Pour l'utilisation d'une ressource qui se trouve dans une DLL, c'est ce lien : http://www.autoitscript.fr/forum/viewto ... f=11&t=310

Je pensais que vous auriez au moins eu la curiosité de cliquer dessus dans le premier lien que je vous ai donné ... :roll:

Re: [..] Utilisation d'une DLL

Posté : ven. 12 févr. 2010 17:29
par Narmeke
Je ne vois toujours pas comment l'on peut l'actualiser comme un :

Code : Tout sélectionner

GUICtrlSetImage()
 
En regardant bien votre lien j'ai bien analyser chacune des Fonctions, bref tous et j'ai tester cela :

Code : Tout sélectionner

GUICtrlSetImage($IMAGE_CATEGORIE, "WSB_First.dll", "C_GENERAL", $RT_RCDATA) ;Ne marche pas
GUICtrlSetImage($IMAGE_CATEGORIE, "WSB_First.dll", "C_GENERAL") ;Ne marche pas
GUICtrlSetImage($IMAGE_CATEGORIE, "WSB_First.dll", 1) ;Toujours rien
;Ainsi que cela
_ResourceSetImageToCtrl($pic, "LOGO_AUTOIT1", $RT_RCDATA, "MaDll.dll") ;Mon image apparait bien une fois mais ne change plus !
 
Type d'image : RCDATA
Extension de l'image : *.jpg

D'après moi il ne reste plus qu'une chose a faire :cry:
Extraire les images de la DLL et les envoyer dans :

Code : Tout sélectionner

@TempDir
Mais je préfèrerais pouvoir actualiser sans extraction !!! :mrgreen:

Re: [..] Utilisation d'une DLL

Posté : ven. 12 févr. 2010 17:38
par DJSIR
En deux lignes : Delete le et Recrée-le !

Re: [..] Utilisation d'une DLL

Posté : ven. 12 févr. 2010 17:52
par Narmeke
Résolut !

Merci @Tlem et merci @DJSIR
Mon erreur venait d'ailleurs ^^
Ce que @DJSIR a dit m'en a fais prendre conscience.

L'erreur venait d'un combo. Dans mon code si la première valeur est différente de celle donné alors on actualise.
Or cela était tous simplement impossible puisque la valeur n'était pas différente !!!