dll传递记录类型参数的问题

whxhz80 2003-06-30 10:53:42
在dll文件里,有如下记录
type
TSHOWSTYLE=record
cIn:byte;
cOut:byte;
cSpeed:byte;
cWait:byte;
cLeft:byte;
wTop:word;
cWidth:byte;
cHeight:byte;
end;

一函数的传入参数是上面的类型 showstyle:TSHOWSTYLE

函数是从VB调用的,在VB也同样的申明了记录类型,然后传递的时候没有用关键字ByVal

问题1.VB不用ByVal的方法来传递这个记录类型,传递的是地址吗?还是什么?
问题2.如果传递的是地址,在dll里面应该如何读取记录里面的内容?如果不是地址,又如何读取

现在我是直接在dll里面用 showstyle. 来访问的,但是值不是我所所期望的
...全文
109 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
whxhz80 2003-07-01
  • 打赏
  • 举报
回复
从VB传过来,我在dll里面怎么调用呢?
wsz1995 2003-07-01
  • 打赏
  • 举报
回复
传递地址
whxhz80 2003-07-01
  • 打赏
  • 举报
回复
那我不用自定义记录类型,我传递数组,要怎么传递呢?
whxhz80 2003-07-01
  • 打赏
  • 举报
回复
我用ByVal,系统编译都不通过,提示“用户定义类型不能用”
outer2000 2003-07-01
  • 打赏
  • 举报
回复
1,应该用BYVAL;传递的是值,VB默认是BYREF的吧,我记得
whxhz80 2003-07-01
  • 打赏
  • 举报
回复
怎么高手今天都休息了啊

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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