Bonjour. J'ai écrit un DLL très simple en C++ dont voici le code:
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";
}
Le but de cette DLL est de simplement retourner le mot "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:
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
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?

Merci de prendre votre temps pour m'aider.

Alain