Bonjour, j utilise une dll ecrite en c++ avec visual studio. Je l exporte sous vb et j aimerai pouvoir mettre des points d arrets etc pour trouver mes erreurs...
Savez vous si cela est possible?
Merci beaucoup.
Bonjour, j utilise une dll ecrite en c++ avec visual studio. Je l exporte sous vb et j aimerai pouvoir mettre des points d arrets etc pour trouver mes erreurs...
Savez vous si cela est possible?
Merci beaucoup.
Bonjour,
je ne vois pas comment tu pourrais utiliser une dll ecrite en c++ dans VB (qui, comme son nom l'indique, est un IDE pour le Basic).
Non, c'est impossible.
Je ne suis pas certain que ce soit impossible, mais hélas, il y a des chances.
Ta DLL, c'est du natif ou du .Net?
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
ca veut dire quoi "je l'exporte" ?
parce que tu peux tres bien lancer ton programme VB depuis l'ide VC++ pour debugger ta dll
Ben je cree la dll dans visual studio a l interieur d un projet c++, et je l importe dans vb (pour avoir une interface simple a programmer):
Module Module1
Public Declare Function testvb Lib "Nicolas.dll" Alias "test" (ByVal vol As Double, ByVal rate As Double, ByVal T As Double, ByVal S0 As Double, ByVal strike As Double) As Double
'Déclare la fonction DllEcrire, nom qui sera utilisé sous VB
'comme fonction appartenant à la dll dll_fichier.dll
'et dont la fonction exportée est Ecrire, qui ne prend pas d'arguments
'et retourne un Long
End Module
Le tutoriel que j ai utilise est la: http://contribs.martymac.com/dll/index.html.
Mais le truc c est que quand je compile tout en debug, il ne voit pas les points d arrets dans la dll. Du coup pour l instant j ai cree une autre solution ou je compile mes fichiers dans un .exe que je peux debugger. Et quand je suis sur que ca marche j utilise ma dll avec vb. C est pas pratique.
J ai une autre question: comment on fait pour faire une dll c++ pour excel? Je veux dire est ce que vous connaissez un endroit ou c est explique clairement?
Merci pour vos reponses en tout cas.
Nico.
Salut,
Bon il est impossible de dedugger ta dll à partir de visual basic, ta dll a été crée avec visual c++, dans l'ide de visual c++, ton debuggage ne peut se faire que de la. Une chose que tu peux essayer mais ce n'est pas sur que ca marche, créé toi un projet visual c++ utilisant ta dll, il faut que ta dll soit montée en mémoire, une fois en mémoire, met tes points d'arrêts et utilise la avec un projet vb et regarde si tu tombes sur tes points d'arrêts, mais ce n'est pas sur que ca fonctionne. Autrement tu peux te faire une DLL COM en c++ que tu pourras utiliser dans vb et la c'est sur, tu pourras la debbuger sous visual c++ en l'utilisant avec vb.
Bon courage.
Bon, je précise ce qu'a dit nico-pyright(c), puisque les autres semblent embrouiller.
Tu ouvres ton projet DLL avec Visual, tu le règles en "startup project", un petit "start debugging" et on te demande "Executable for debug session", c'est-à-dire un exécutable qui utilise la DLL pour qu'on puisse la déboguer.
Dans cette boite de dialogue, tu n'as plus qu'à taper le chemin de ton exécutable en VB pour déboguer la DLL...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
La j ai bien compris l idee, mais je n arrive pas a la faire fonctionner. Au moment ou je fais debug il met des points d interogations sur mes points d arret et il n en tient pas compte...
Merci
Nico
Partager