Возвращение строк из C ++ dll в vb

0

У меня есть следующий DLL файл cpp

#include "stdafx.h"
#include <string.h>
#include <Windows.h>
#include <OleAuto.h>
using namespace std;
extern "C" __declspec(dllexport) BSTR func(BSTR a) 
{
BSTR buffer;
buffer = SysAllocString(a);
 return buffer;
}

На конце vb

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim string1 As String
    string1 = func(TextBox1.Text)
    TextBox2.Text = string1
End Sub

Вышеприведенный код компилируется правильно, но форма закрывается перед отображением строки в текстовом поле. Но если я верну текст как целое число, он отлично работает...

  • 0
    Итак ... отладить это? Визуальный студийный отладчик позволяет вам отлаживать именно эту вещь. Убедитесь, что на модуль DLL ссылается проект VB, и просто отладьте его.
Теги:
dll

1 ответ

1

BSTR! = VB.NET String, я думаю ,, использование LPCSTR

extern "C" __declspec(dllexport) LPCSTR func(LPCSTR a) 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню