[R] Utilisation d'une DLL

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Narmeke
Niveau 6
Niveau 6
Messages : 247
Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status : Hors ligne

[R] Utilisation d'une DLL

#1

Message 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.
Modifié en dernier par Narmeke le ven. 12 févr. 2010 17:52, modifié 3 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Utilisation d'une DLL

#2

Message par Tlem »

Vous avez tout ce qu'il vous faut ici : http://www.autoitscript.fr/forum/viewto ... f=11&t=513
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Narmeke
Niveau 6
Niveau 6
Messages : 247
Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status : Hors ligne

Re: [..] Utilisation d'une DLL

#3

Message 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 ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Utilisation d'une DLL

#4

Message 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:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Narmeke
Niveau 6
Niveau 6
Messages : 247
Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status : Hors ligne

Re: [..] Utilisation d'une DLL

#5

Message 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:
Avatar du membre
DJSIR
Niveau 8
Niveau 8
Messages : 583
Enregistré le : mar. 01 juil. 2008 15:16
Localisation : 76, Le HAVRE (in the DJSIR World)
Status : Hors ligne

Re: [..] Utilisation d'une DLL

#6

Message par DJSIR »

En deux lignes : Delete le et Recrée-le !
$DJSIR = "1000110001010101011010000101001101001101001010101011010"
(ne décodez pas le binaire, ça veux rien dire)

[Func] ProgressBar, aller plus loin
Avatar du membre
Narmeke
Niveau 6
Niveau 6
Messages : 247
Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status : Hors ligne

Re: [..] Utilisation d'une DLL

#7

Message 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 !!!
Répondre