Bonjour. J'ai écrit un DLL très simple en C++ dont voici le code:
Le but de cette DLL est de simplement retourner le mot "Allo".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include "stdafx.h" #include <string> extern "C++" __declspec(dllexport) std::string get(); std::string get() { return "Allo"; }
Maintenant, je veux utiliser cette DLL avec VB Net 2005. Je veux simplement afficher dans un messagebox la réponse de la DLL. Voici le code VB:
Mon problème est que la réponse reçu est une chaine de caractère vide plutôt que le mot "Allo". Pouvez-vous me dire pourquoi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Imports System.Runtime.InteropServices Public Class Form1 <DllImport("C:\testdll.dll", EntryPoint:="?get@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ")> _ Public Shared Function test() As System.Text.StringBuilder End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim reponse As New System.Text.StringBuilder(20) MessageBox.Show(reponse.ToString.Trim) End Sub End Class
Merci de prendre votre temps pour m'aider.
Alain
Partager