DLL Importer
DLL Importer
J'ai une librairie Windows .lib ainsi qu''un fichier d'entete .H , quelqu'un saurait-il comment faire pour en faire une libaririe Pure Basic. Merci par avance
DllImporter permet d'utiliser les fonctions des dll externes comme si c'était des commandes standard de PureBasic, en utilisant un trait de soulignement. CreateWindowEx_(), SendMessage_(), etc...
Il faut commencer par créer un fichier texte avec l'extension .pbl, contenant le nom de la dll, le nom de chaques fonctions, et le nombre de paramètres pour chaque fonction.
MaDll.dll
MaFonction1 1 ; <----- 1 seul paramètre
MaFonction2 6 ; <------6 paramètres
MaFonction3 2 ; <------2 paramètres
etc...
Pour mettre des commentaires, tu utilises un ';'
Ensuite, tu lances "DLL Importer.exe", dans le champ du haut, tu sélectionnes le dossier "\PureBasic\PureLibraries\", dans le champ du bas, tu sélectionnes le dossier de "PureBasic", et tu cliques sur "Start".
Quand le programme te le demande, tu indiques ou se trouve le fichier .pbl que tu as créé, et le prog te crée 3 fichiers.
1 fichier .lib dans le dossier \PureBasic\PureLibraries\Windows\Libraries
1 fichier sans extension dans \PureBasic\PureLibraries\Windows
1 dans un nouveau dossier "Export", dans \PureBasic\PureLibraries.
Ensuite, tu redémarre le compilateur, et tu utilises les fonctions de ta dll en les appelant directement avec un _
Fonction1_(MonParamètre)
Il faut commencer par créer un fichier texte avec l'extension .pbl, contenant le nom de la dll, le nom de chaques fonctions, et le nombre de paramètres pour chaque fonction.
MaDll.dll
MaFonction1 1 ; <----- 1 seul paramètre
MaFonction2 6 ; <------6 paramètres
MaFonction3 2 ; <------2 paramètres
etc...
Pour mettre des commentaires, tu utilises un ';'
Ensuite, tu lances "DLL Importer.exe", dans le champ du haut, tu sélectionnes le dossier "\PureBasic\PureLibraries\", dans le champ du bas, tu sélectionnes le dossier de "PureBasic", et tu cliques sur "Start".
Quand le programme te le demande, tu indiques ou se trouve le fichier .pbl que tu as créé, et le prog te crée 3 fichiers.
1 fichier .lib dans le dossier \PureBasic\PureLibraries\Windows\Libraries
1 fichier sans extension dans \PureBasic\PureLibraries\Windows
1 dans un nouveau dossier "Export", dans \PureBasic\PureLibraries.
Ensuite, tu redémarre le compilateur, et tu utilises les fonctions de ta dll en les appelant directement avec un _
Fonction1_(MonParamètre)
Merci Chris,
J'ais procédé au manip et ensuite en lancant l'applic j'ais le message suivant :
Ne maitrisant pas du tout la chose je suis certain d'avoiur sauter une étape.
J'ais procédé au manip et ensuite en lancant l'applic j'ais le message suivant :
Est-ce à dire qu'il faut que j'enregistre Autoitx3.dll ?Cette application n'a pu démarrer car Autitx3.dll est introuvable. la réinstallatation de cette application peut corrgier ce problême
Ne maitrisant pas du tout la chose je suis certain d'avoiur sauter une étape.
Une fois compilé l'application a t-on toujours besoin de la DLL ou non ?filperj a écrit :Il faut que la DLL se trouve dans le même dossier que l'exe, donc dans le dossier "compilers" de PB puisque c'est là que l'exe temporaire est créé quand on appuie sur F5.
Message en compilant en exe
Le point d'entrée de procédure WinGetTitle est introuvable dans la bibliothéque de liaisons dynamique AutoItx3.dll
Oui, l'exe compilé a toujours besoin de la DLL.
Sinon, ton message d'erreur veut surement dire que le compilo ne trouve pas dans la DLL une des fonctions que tu as décrite dans le .pbl..
Vérifie bien l'orthographe(y compris la casse), sinon je sais pas...
Sinon, ton message d'erreur veut surement dire que le compilo ne trouve pas dans la DLL une des fonctions que tu as décrite dans le .pbl..
Vérifie bien l'orthographe(y compris la casse), sinon je sais pas...
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
parcequ'il est mieux organisé.
(Ly Tin Wheedle)