Delphi中的pchar()的指针函数 VB.net 中有什么相对应.

Q832198 2011-05-17 05:12:46
delphi 中 str:=pchar(msg.lparam);
msg.lparam 这个地址 对应的 str字符

vb.net 中应当如何写的
几年前都写过的 一下子忘记了.

请指教 先谢了.
...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanbotang 2011-05-27
  • 打赏
  • 举报
回复
VB6的StrPtr,以下是.NET 实现
Public Function StrPtr(ByVal str As String) As Integer
Dim GC As System.Runtime.InteropServices.GCHandle = System.Runtime.InteropServices.GCHandle.Alloc(str, Runtime.InteropServices.GCHandleType.Pinned)
Dim ret As Integer = GC.AddrOfPinnedObject.ToInt32
GC.Free()
Return ret
End Function
Q832198 2011-05-19
  • 打赏
  • 举报
回复
搞掂了 使用了 该死的 万恶的 美帝国主义的 www.google.com.hk

感谢 《VB.NET中指针和非托管内存的应用》

Imports System.Runtime.InteropServices

str=Marshal.PtrToStringAnsi(m.LParam)
Q832198 2011-05-19
  • 打赏
  • 举报
回复
看来 CSDN 没什么人嘛
鸭梨山大帝 2011-05-19
  • 打赏
  • 举报
回复
m.LParam
<== 这个是你的非托管代码中的类吗?
如果是,没问题.

如果不是,而是托管代码中的类的实例,这样取有问题.

[Quote=引用 4 楼 q832198 的回复:]

搞掂了 使用了 该死的 万恶的 美帝国主义的 www.google.com.hk

感谢 《VB.NET中指针和非托管内存的应用》

Imports System.Runtime.InteropServices

str=Marshal.PtrToStringAnsi(m.LParam)
[/Quote]
鸭梨山大帝 2011-05-18
  • 打赏
  • 举报
回复
VB.NET中不需要去访问地址.

直接赋值

Q832198 2011-05-18
  • 打赏
  • 举报
回复
谢谢楼上的好意
因有项目 必须把这个 Delphi 转为 .net.

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧