Page 1 sur 1
Problème avec Bibliothèque (Librairie)
Publié : mar. 22/sept./2020 21:57
par Shadow
Bonjour,
J'essaye de faire une librairie d'un code mais quand je l'utilise avec PB, ça affiche ça et je sais pas d'ou ça viens:
https://drive.google.com/file/d/1RTpX9W ... sp=sharing
Re: Problème avec Bibliothèque (Librairie)
Publié : mer. 23/sept./2020 8:45
par microdevweb
Salut Shadow,
Ce type de message survient
- A cause de l'anti virus
- Un partie du soft (exemple dll) est occupée par un autre procesus
Maintenant sans le code et la structure du programme difficile à dire
Re: Problème avec Bibliothèque (Librairie)
Publié : sam. 26/sept./2020 14:38
par Shadow
Salut, merci.
Pas moyen de faire marcher, je suis bloqué !
C'est pour le module Editors Factory, je n'arrive pas à faire fonctionner la librairie

Re: Problème avec Bibliothèque (Librairie)
Publié : sam. 26/sept./2020 17:57
par G-Rom
microdevweb a écrit :Salut Shadow,
Ce type de message survient
- A cause de l'anti virus
- Un partie du soft (exemple dll) est occupée par un autre procesus
Maintenant sans le code et la structure du programme difficile à dire
ni l'un , ni l'autre, erreur d'édition de lien, manque une fonction tout simplement. Le message est explicite.
Re: Problème avec Bibliothèque (Librairie)
Publié : dim. 27/sept./2020 2:15
par Shadow
Merci, Mouais bon en gros la lib bha tempi, c'est le gros bordel pour créer une lib !
Donc peu pas créer de lib, peux pas crée de DLL, MDR !
Re: Problème avec Bibliothèque (Librairie)
Publié : dim. 27/sept./2020 7:57
par Micoute
Bonjour Shadow,
tu fais comme l'exemple que j'ai fait, et tu verras que ça fonctionne parfaitement
Code : Tout sélectionner
;Mettre l'option Compilateur "Shared Dll"
;Puis "Créer un exécutable" et donner le nom de son choix
ProcedureDLL Salut()
MessageRequester("Bonjour", "Bonjour de la part de Micoute !", 0)
EndProcedure
Code pour exécuter:
Code : Tout sélectionner
If OpenLibrary(0, "Bonjour.dll")
CallFunction(0, "Salut")
CloseLibrary(0)
EndIf
Re: Problème avec Bibliothèque (Librairie)
Publié : dim. 27/sept./2020 13:32
par Shadow
Micoute, c'est pas aussi simple que ça non, j'ai tout un code hein

Et ça ne fonctionne pas, probablement parce que je dois refaire des fonctions qui ont plusieurs paramètres.... ce que je ne ferais pas !
Je pensais pas que c'était aussi dur de créer une lib avec PB !
Re: Problème avec Bibliothèque (Librairie)
Publié : lun. 28/sept./2020 7:25
par Micoute
J'espère qu'après mon opération de ma carotide droite, je retrouverai mes facultés et si c'est le cas, je promets de t'aider du mieux que je le pourrai.
Re: Problème avec Bibliothèque (Librairie)
Publié : mar. 29/sept./2020 9:55
par microdevweb
Le problème avec la création de dll c'est surtout le débogage, on peut passer par des fonctions temporaires que l'on appellent ensuite. Cela peut facilité le débogage puisque l'on teste en premier les fonctions normalement.
code du module
Code : Tout sélectionner
DeclareModule TESTE
Declare _func_a(value)
Declare.s _func_c(name.s)
EndDeclareModule
Module TESTE
Procedure _func_a(value)
ProcedureReturn value * 2
EndProcedure
Procedure.s _func_c(name.s)
ProcedureReturn "Hello "+name
EndProcedure
EndModule
code de la dll
Code : Tout sélectionner
IncludeFile "MODULE.pb"
ProcedureDLL func_a(value)
ProcedureReturn TESTE::_func_a(value)
EndProcedure
ProcedureDLL.s func_c(name.s)
ProcedureReturn TESTE::_func_c(name)
EndProcedure
code du teste
Code : Tout sélectionner
If OpenLibrary(0,"TESTE.dll")
Debug CallCFunction(0,"func_a",5)
Debug PeekS(CallCFunction(0,"func_c",@"microdevweb"))
EndIf