Bonjour
Je suis un programmeur débutant, et comme beaucoup de personne je suis passé naturellement de QBASIC à VB.
Hors la complexité de la mise en oeuvre (Dll, runtime, etc) , le prix, etc ...
m'ont fait me tourner vers un autre language.
C'est comme cela que j'ai découvert ce splendide language que j'essaie
actuellement.
Je lui fait beaucoup de pub et épate déja beaucoup de gens de mon entourage par sa puissance sa simplicité et surtout les nombreux codes que l'on trouve dans la communauté, qui soutiennent beaucoup l'aide qui à mon avis est un peu succinte (Manque de petits exemples pour certaines instruction).
J'aimerais juste savoir si il est possible simplement, de créer une dll en PB pour l'utiliser dans VB ou VBA (access,excell)
J'ai essayé avec 3 message box mais j'arrive juste a voir l'ouverture et la
fermeture de la dll dans laquelle j'ai mis un msgbox dans chaque, mais quand a la structure le message box "Coucou,je suis un message box venant d'une DLL" n'apparait pas.
VOICI LE CODE :
***************
ProcedureDLL AttachProcess(Instance)
MessageRequester("Bonjour","Le chargement de la DLL est effectué")
EndProcedure
ProcedureDLL DetachProcess(Instance)
MessageRequester("Aurevoir","La DLL a été déchargée")
EndProcedure
ProcedureDLL Message()
MessageRequester("Bonjour","Coucou,je suis un message box venant
d'une DLL")
EndProcedure
J'obtiens un message erreur d'ACCESS, "Point d'entrée GETMESSAGE d'une dll introuvable"
Je n'ai pas trouvé de réponse sur les sites dédié à ce génial logiciel.
Je suis préssé de quitter microsoft avec ses patchs et ses bug et versions a n'en plus finir.
Bonnes journée
DLL pure basic et DLL Visual Basic
-
- Messages : 58
- Inscription : jeu. 22/déc./2005 11:23
De mémoire, VB ne supporte que les DLL qui exportent leurs fonctions via _stdcall et non en _cdecl comme le fait PureBasic.
J'en avais fait part à Fred (export avec le signe "@" dans le nom de la fonction) mais j'attend toujours.
Je ne suis pas chez moi mais je ferais un test pour en être sur (je me souvient avoir quand même réussi à utiliser une de mes dll en _cdecl ...).
Sinon, peut être avec la version 4 qui arrive bientôt, cela sera possible
J'en avais fait part à Fred (export avec le signe "@" dans le nom de la fonction) mais j'attend toujours.
Je ne suis pas chez moi mais je ferais un test pour en être sur (je me souvient avoir quand même réussi à utiliser une de mes dll en _cdecl ...).
Sinon, peut être avec la version 4 qui arrive bientôt, cela sera possible

"Qui baise trop bouffe un poil." P. Desproges
dans ce cas à quoi sert le mot-clé ProcedureCDLL ???
et pourquoi le point d'entrée serait GETMESSAGE alors que la fonction c'est Message ?
[edit]
j'ai créé une dll avec ton code et j'ai essayé de la charger en créant un autre code PB et j'ai eu aucun probleme de ce côté là... J'ai bien les 3 messagebox qui s'ouvrent sans problème...
Dri
et pourquoi le point d'entrée serait GETMESSAGE alors que la fonction c'est Message ?
[edit]
j'ai créé une dll avec ton code et j'ai essayé de la charger en créant un autre code PB et j'ai eu aucun probleme de ce côté là... J'ai bien les 3 messagebox qui s'ouvrent sans problème...
Dri
Salut,
je viens de créer une DLL avec ton code.
Puis dans excel 97, j'ai créé un bouton auquel j'associe ca (CommandButton 1 | Click):
Private Sub CommandButton1_Click()
Message
End Sub
Et j'ajoute ça dans les déclarations du module (Général|Déclarations):
Declare Sub Message Lib "C:\MaDLL.dll" ()
C'est tout, et ça marche impec.
je viens de créer une DLL avec ton code.
Puis dans excel 97, j'ai créé un bouton auquel j'associe ca (CommandButton 1 | Click):
Private Sub CommandButton1_Click()
Message
End Sub
Et j'ajoute ça dans les déclarations du module (Général|Déclarations):
Declare Sub Message Lib "C:\MaDLL.dll" ()
C'est tout, et ça marche impec.
-
- Messages : 58
- Inscription : jeu. 22/déc./2005 11:23
Bonjour
Pour repondre a KarLKoX
J'ai aussi envoyé 2 mails à Fred (que je felicitais au passage de son formidable logiciel) concernant les DLL entre VB et Pure.
Surtout pour avoir des renseignements sur la compatibilité entre les deux.
Puis sur le fait que dans le copyright il explique :
Est-il autorisé d'utiliser les DLL produites avec PureBasic dans d'autres applications ?
Oui. Néanmoins, il n'est pas autorisé de faire des DLL contenant seulement des commandes spécialisées (Movie, Sprites etc..) destinées à être utilisées dans d'autres langages de programmation.
Je n'ai pas non plus obtenu de reponse de sa part.
Je pense que outre le fait qu'il doit tres débordé, c'est peut etre un sujet sur lequel il est un peu frileu et je le comprend.
Pour repondre a KarLKoX
J'ai aussi envoyé 2 mails à Fred (que je felicitais au passage de son formidable logiciel) concernant les DLL entre VB et Pure.
Surtout pour avoir des renseignements sur la compatibilité entre les deux.
Puis sur le fait que dans le copyright il explique :
Est-il autorisé d'utiliser les DLL produites avec PureBasic dans d'autres applications ?
Oui. Néanmoins, il n'est pas autorisé de faire des DLL contenant seulement des commandes spécialisées (Movie, Sprites etc..) destinées à être utilisées dans d'autres langages de programmation.
Je n'ai pas non plus obtenu de reponse de sa part.
Je pense que outre le fait qu'il doit tres débordé, c'est peut etre un sujet sur lequel il est un peu frileu et je le comprend.
-
- Messages : 58
- Inscription : jeu. 22/déc./2005 11:23
-
- Messages : 58
- Inscription : jeu. 22/déc./2005 11:23
Bonjour Dr Dri
Pourrait tu me donner plus de details ?????
Je suis vraiment hyper nul en DLL (et pas qu'avec ça d'ailleurs).
C'est bien avec VB6 que tu n'a pas eu de bleme ???
Quel est le code exact (au plus simple) qu'il faut mettre dans pure ????
Quel est le code exact ( au plus simple ) qu'il faut mettre dans VB ????
Je commence tout juste a travailler avec les API en VB donc tu vois la route qu'il me reste a faire...
En tous cas, je te remercie beaucoup de t'etre penché sur le probleme d'un modeste programmeur debutant.
Pourrait tu me donner plus de details ?????
Je suis vraiment hyper nul en DLL (et pas qu'avec ça d'ailleurs).
C'est bien avec VB6 que tu n'a pas eu de bleme ???
Quel est le code exact (au plus simple) qu'il faut mettre dans pure ????
Quel est le code exact ( au plus simple ) qu'il faut mettre dans VB ????
Je commence tout juste a travailler avec les API en VB donc tu vois la route qu'il me reste a faire...
En tous cas, je te remercie beaucoup de t'etre penché sur le probleme d'un modeste programmeur debutant.