cs_bolandfranck
Messages postés34Date d'inscriptionlundi 15 janvier 2007StatutMembreDernière intervention 8 octobre 2009
-
10 juil. 2007 à 13:34
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
10 juil. 2007 à 17:23
Bonjour,
Je souhaite me servir d'une dll vb.net dans windev.
Le problème ets que je ne peut pas si la dll n'est pas une dll winapi
Alors deja je ne sais pas se que cela signifie et en plus je voudrais savoir comment l'on fait pour faire une dll winapi avec vb.net
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 10 juil. 2007 à 14:42
Salut,
Bonne remarque de lermitte222, on ne fait pas de dll WinAPI (Sauf si on est un pauvre développeur indien exploité par une société répondant au doux nom de M$. Nan je déconne.)
M'enfin à mon avis, bolandfranck s'intéresse plus à la convention d'appel qu'autre chose. stdcall quoi.
Bah non, à ma connaissance, ce n'est pas possible de faire des dlls en VB.NET exportant en stdcall. Déjà qu'en VB6 c'est chaud... On peut faire du safecall en VB.NET (COM), mais c'est déjà pas super simple.
Le dotnet est une technologie particulère qui nécessite que M$ est fait un certains travail pour qu'on puisse lui faire faire certaines chose classiquement très simple. Et là, je pense pas que genre un LoadLibrary enchainé par un GetProcAddress renvoie une adresse sur du langage machine.
Enfin j'espère pour toi que je me trompe.
Pour faire du stdcall : Delphi (Pour Win32), C, ASM...
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 10 juil. 2007 à 17:23
"...ont ne FAIT PAS une dll WinAPI,..."
SI, SI, on peut en faire sans problème. Par contre ce que l'on ne peut pas faire c'est des dll de l'API Windows, celle-là, seul Microsoft peut les faires.
winapi désigne une classe de dll, style dll de l'api Windows justement, fonctionnant comme api génériques sur plateforme windows.
Il faut effectivement que les fonctions soient exportées en __stdcall, pour etre visibles par n'importe quel logiciel.
Si effectivement VB6 ne sait faire que des dll ActiveX, VB.Net est aussi capable de faire des dll COM. Par contre, pour des dlls api, il afut se tourner vers le C (VC6 ou VC2005) et bien préciser le format __stdcall pour l'export des fonctions.