Page 1 sur 1

Je veux apprendre a faire des DLLs

Publié : mar. 05/août/2014 22:48
par SPH
Salut,

Je souhaiterais faire des DLLs. Une ame charitable pourrait il poster un cours (qui ne restera pas lettre morte)

mci

Re: Je veux apprendre a faire des DLLs

Publié : mar. 05/août/2014 23:48
par graph100
la DLL :

Code : Tout sélectionner

ProcedureDLL.l Addition(x.l, y.l)
	ProcedureReturn x + y
EndProcedure
à compiler en mode "Shared DLL" (dans les Options de compilation -> format de l'executable)


l'appel de la DLL, nommée add.dll

Façon 1 : CallFunction()

Code : Tout sélectionner

If OpenLibrary(0, "add.dll")
	Debug CallFunction(0, "Addition", 5, 6)
	
	CloseLibrary(0)
	
EndIf
Façon 2 : CallFunctionFast()

Code : Tout sélectionner

If OpenLibrary(0, "add.dll")
	*adr_fonction = GetFunction(0, "Addition")
	
	Debug CallFunctionFast(*adr_fonction, 5, 6)
	
	CloseLibrary(0)
	
EndIf
Façon 3 : Prototype

Code : Tout sélectionner

Prototype.l mon_Addition(x.l, y.l)


If OpenLibrary(0, "add.dll")
	
	add.mon_Addition = GetFunction(0, "Addition")
	
	Debug add(5, 6)
	
	CloseLibrary(0)
EndIf
Façon 4 : Import (nécessite POUR COMPILER d'avoir le fichier add.lib produit lors de la compilation de la dll, pas besoin de distribuer le .lib ensuite.)

Code : Tout sélectionner

Import "add.lib"
	Addition(x.l, y.l)
EndImport

Debug Addition(5, 6)

Voila, pour l'utilisation, sinon pour plus de précision et de complication, je te conseille d'aller lire en détail l'AIDE de purebasic à propose de "ProcedureDLL".
tu y trouveras des explications sur le chargement et l'initialisation qui devrait être à connaitre.

J'espère que tu as lu l'aide avant de poster ta demande... Parce que tout y est expliqué.