(100分)奇怪问题?

JEFFzuo 2003-11-25 11:16:07
在VC中定义的Win API
BASE_EXPORT long WINAPI Func(UCHAR *p, int i,int j);
在VB的Module中声明
Public Declare Function Func Lib "DLL.dll" (ByRef p As Byte, ByVal i As Long,ByVal j As Long) As Long
窗体中调用
Dim r as Long
Dim p(0 to 7) as byte
r = Func(p(0),8,1)
运行的时候编译器给出实时错误9,下标越界...

有几个同样的函数处理上没有什么问题,请问各位,这是我声明有问题,造成了调用函数不稳定,还是别的什么问题。
另外,在VC中调用那个Func是好用的。
...全文
58 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
JEFFzuo 2003-11-25
  • 打赏
  • 举报
回复
OK,Thanks all man for help
minghui000 2003-11-25
  • 打赏
  • 举报
回复
123
wangqingyu 2003-11-25
  • 打赏
  • 举报
回复
Up
lemonchen 2003-11-25
  • 打赏
  • 举报
回复
两种方法
1 修改声明:Public Declare Function Func Lib "DLL.dll" (ByVal str As string, ByVal i As Long,ByVal j As Long) As Long

2 修改调用方式
Dim p as byte
r = Func(p,8,1)
JEFFzuo 2003-11-25
  • 打赏
  • 举报
回复
o, 这样是不行的
hcj2002 2003-11-25
  • 打赏
  • 举报
回复
改成

Public Declare Function Func Lib "DLL.dll" (ByVal str As string, ByVal i As Long,ByVal j As Long) As Long
试试

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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