Attaquer une DLL C++ et lui passer et récupérer des Strings [VB .NET] - VB/VBA/VBS - Programmation
Marsh Posté le 09-08-2005 à 21:07:04
http://vbfrance.com/code.aspx?id=7093
ca pourrait peut être t'aider ?
Marsh Posté le 10-08-2005 à 10:19:10
Il doit bien y avoir une classe genre Marshal en VB.Net pour convertir tes données "managed" en données "natives" et vice versa.
Marsh Posté le 10-08-2005 à 13:12:43
@knakes: bof, je vois pas trop ce qui pourrait m'intéresser là-dedans Ca parle surtout d'interfaces graphiques gerées en XML...
@theShOcKwAvE: j'ai essayé avec le type StringBuilder, j'obtines le même résultat.
Merci quand même de vos idées !
Marsh Posté le 10-08-2005 à 14:28:23
Le plus simple à mon avis c'est de te faire un petit wrapper Managed C++. C'est fait pour ça.
Ca donnerait un truc du genre:
Code :
|
sauf que ça doit plus complexe, ça dépend de comment sont utilisés les arguments.
Regarde du côté de System::Runtime::InteropServices.
http://msdn.microsoft.com/library/ [...] stions.asp
Marsh Posté le 09-08-2005 à 10:41:38
Bonjour à tous,
Ca fait maintenant quelques jours que j'essaye de résoudre un problème et malgré toute ma bonne volonté j'ai toujours pas trouvé...
Je voux explique le bazar.
Un boite dont je suis client m'a fourni une DLL que je dois mettre en place sur un projet .NET. Cette DLL est dévelopée en C++ et voici la fonction qu'elle contient qui m'intéresse:
Les paramètres 1 et 4 sont des paramètres de sortie et les 2 et 3 sont des entrées.
J'ai déjà testé cette fonction de la DLL en C avec le .lib et le .h fourni avec la DLL, tout fonctionne nickel.
Pour le VB .NET, je n'arrive pas à avoir de résultats en retour, et je ne sais pas non plus si les entrées lui sont bien passées...
Voici la déclaration de la fonction que j'ai faite dans le programme:
Avec ensuite un appel en
J'ai surement fait des erreurs dans la conversion de types, notamment le long * -> Long et j'ai lu quelquepart que les String à passer en paramètre d'une DLL devaient être de taille fixe, ce qui n'est plus possible en VB .NET...
Le programme compile mais les résultats ne sont pas au rendez-vous...
Je débute complètement dans l'utilisation des DLL, merci d'éclairer ma lanterne si vous en avez la possibilité !