gpt4 book ai didi

c++ - Visual Basic (VS 2012) 无法识别 StrPtr?

转载 作者:行者123 更新时间:2023-11-28 00:40:40 25 4
gpt4 key购买 nike

我正在使用 VS 2012:

这是我的情况:

我正在用 visual basic 编写一些代码,调用我用 C++ 编写的 dll 函数(也是使用 vs 2012 编写的)。我函数的参数之一采用 wchar_t* 数据​​类型,因此我需要使用 StrPtr 相应地格式化来自 vb 的字符串。

这是我的问题:

Visual Basic 无法将 StrPtr 识别为函数。我得到:“StrPtr”未声明。由于其保护级别,它可能无法访问。”

这是什么意思?

最佳答案

StrPtr 是一个 VB6 函数,它不是 exist in VB.Net

VarPtr, VarPtrArray, VarPtrStringArray, ObjPtr and StrPtr were undocumented functions used to get the underlying memory address of variables. These functions are not supported in Visual Basic .NET.

宽字符串的等效 .Net Framework 方法是 Marshal.StringToHGlobalUni() .

尽管您可能应该使用 P/Invoke调用 C++ 函数,在这种情况下,自动处理 Stringwchar_t 的编码(marshal)处理。

关于c++ - Visual Basic (VS 2012) 无法识别 StrPtr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19074008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com