VB和VB.NET里定义String的区别,谁帮我看看?(在线等)***********

copico 2006-03-21 09:40:05
Public Declare Function FindExeAssoc Lib "Resctrl.dll" (ByVal pszFile As String, ByVal pszExeAssoc As String) As Long

Dim str1 As String * 512
Dim n As Long
n = FindExeAssoc(Filename, str1)

这是VB的,n的返回值是0,正常
可在.NET里一样用,只是Dim str1 As String这样定义,结果就返回不是0了,很奇怪
...全文
176 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
copico 2006-03-21
  • 打赏
  • 举报
回复
我知道什么原因了,它定义的函数非要实例化不可
所以string应该先实例化,给它分配空间
VB6里是:Dim str1 As String * 512
VB.NET里是:dim str1 as new string(" ",512)
kjq_vb 2006-03-21
  • 打赏
  • 举报
回复
Public Declare Function FindExeAssoc Lib "Resctrl.dll" (ByVal pszFile As String, ByVal pszExeAssoc As String) As Integer

Dim str1 As String
Dim n As Integer
n = FindExeAssoc(Filename, str1)
copico 2006-03-21
  • 打赏
  • 举报
回复
应该怎么样实例化?
copico 2006-03-21
  • 打赏
  • 举报
回复
FindExeAssoc是别人写的一个dll,我调用的
dilong_hcj 2006-03-21
  • 打赏
  • 举报
回复
.NET string 是个类
Dim str1 As String 定义了一个类型指针还没有实例化
不知道FindExeAssoc是什么API,你对str1赋个初值试试看

16,552

社区成员

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

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