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

上面的代码可以正确编译,但在文本框中显示字符串之前表单会关闭。但是如果我将文本作为整数返回,它工作正常......

4

1 回答 1

1

BSTR != VB.NET String 我认为 ,,, 使用 LPCSTR

extern "C" __declspec(dllexport) LPCSTR func(LPCSTR a) 
于 2014-01-20T09:23:26.957 回答