Page 1 sur 1

DLL

Publié : dim. 01/janv./2012 17:56
par radinor
Bonjour et bonne année,

j'ai recherché sur "dll" et je n'ai rien trouvé donc j'ose poser ma question :

j'ai voulu faire fonctionner l'exemple dans l'aide de purebasic et je n'y arrive pas ! oui c'est lamentable je sais !

Code : Tout sélectionner

ProcedureDLL MaFonction()
    MessageRequester("Bonjour", "Voici une DLL PureBasic !", 0)
  EndProcedure
  
  ; Voici le programme client qui utilise la DLL
  ;
  If OpenLibrary(0, "PureBasic.dll")
    CallFunction(0, "MaFonction")
    CloseLibrary(0)
  EndIf
1) création de la Dll
j'ai mis le code source de la DLL "MaFonction" dans ex01_dll.pb

Code : Tout sélectionner

ProcedureDLL MaFonction()
    MessageRequester("Bonjour", "Voici une DLL PureBasic !", 0)
  EndProcedure
j'ai mis "compiler options" à SHARED Dll
j'ai fait "create executable" qui m'a bien créé "ex01_dll.dll"

2) j'ai créé le code source qui utilise la DLL dans ex01_appelant.pb

Code : Tout sélectionner

;
  ; Voici le programme client qui utilise la DLL
  ;
  If OpenLibrary(0, "PureBasic.dll")
    CallFunction(0, "MaFonction")
    CloseLibrary(0)
  EndIf
et j'ai lancé "compilation/run" mais il ne se passe rien ?
ou ai-je fait l'erreur ?

Re: DLL

Publié : dim. 01/janv./2012 18:07
par lepiaf31

Code : Tout sélectionner

OpenLibrary(0, "PureBasic.dll")
c'est pas ca plutot :

Code : Tout sélectionner

OpenLibrary(0, "ex01_dll.dll")

Re: DLL

Publié : dim. 01/janv./2012 18:57
par radinor
lepiaf31 a écrit :

Code : Tout sélectionner

OpenLibrary(0, "PureBasic.dll")
c'est pas ca plutot :

Code : Tout sélectionner

OpenLibrary(0, "ex01_dll.dll")
et ça fonctionne très bien
merci

je me suis laissé abusé par la terminologie Library pour parler d'une Dll, ce qui me semble pompeux. J'avais imaginé que "purebasic.dll" était une library implicite contenant les Dll créées !

Re: DLL

Publié : dim. 01/janv./2012 19:26
par lepiaf31
radinor a écrit : et ça fonctionne très bien
merci
De rien ;)