Bonjour,
Je veux acc�der � une simple fonction d'une DLL C++. Voici la d�claration du fichier .h concernant cette fonction:
Donc le param�tre de cette fonction est un pointeur vers une string qui contiendra le texte indiquant le num�ro de version. Mon code VB.Net pour y acc�der est le suivant:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 #define API_SPEC __declspec(dllexport) void API_SPEC API_getApiVersion (std::wstring *version) //[out] API release ID
� l'ex�cution j'ai un message
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 Public Class Form1 <DllImport("C:\Api.dll", EntryPoint:="?API_getApiVersion@@YAXPAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@Z", CallingConvention:=CallingConvention.ThisCall, CharSet:=CharSet.Unicode)> _ Public Shared Sub test(ByVal version As String) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim laVersion As String = New String(" "c, 20) Call test(laVersion ) MessageBox.Show(laVersion) End Sub End ClassJ'ai essay� de passer ma variable 'version' en ByRef au lieu de ByVal mais �a ne r�gle rien. J'ai aussi essay� de passer un type StringBuilder au lieu du type string mais sans r�sultat.AccessViolationException was unhandled.
Qu'est-ce que je fais de pas correct?
Merci
Partager