StrPtr 在 Visual Basic (VS 2012) 中无法识别

StrPtr not recognized in visual basic (VS 2012)?

本文关键字:识别 2012 VS Visual Basic StrPtr      更新时间:2023-10-16

我正在使用VS 2012:

这是我的情况:

我正在用Visual basic编写一些代码,调用我用C++编写的dll函数(也是使用vs 2012编写的)。我的函数的一个参数采用 wchar_t* 数据类型,所以我需要使用 Strptr 相应地格式化 vb 中的字符串。

这是我的问题:

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

这是什么意思?

>StrPtr是一个VB6函数,它不存在于 VB.Net

VarPtr,VarPtrArray,VarPtrStringArray,ObjPtr和StrPtr 用于获取 变量。这些函数在 Visual Basic .NET 中不受支持。

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

尽管您可能应该使用 P/Invoke 来调用C++函数,在这种情况下,将自动处理Stringwchar_t的封送处理。

此关键字已从语言中删除:

VarPtr、VarPtrArray、

VarPtrStringArray、ObjPtr 和 StrPtr 是 用于获取 变量。这些函数在 Visual Basic 2008 中不受支持。