lichunlin1 2015-05-08 05:39 采纳率: 0%
浏览 1994

vb调用DLL转成DELPHI出错?

1.原来VB的程序,经执行可以通过
VB
数据类型定义
'Profile infomation
Public Type LJIF_PROFILE_INFO
fXStart As Single
fXPitch As Single
End Type
定义
Public Declare Function LJIF_GetProfileData Lib "LJIF.dll" (ByVal ProfileTarget As Long, ByRef pProfileInfo As LJIF_PROFILE_INFO, ByRef pProfile As Single, ByVal nCount As Long) As Long
条用
rc = LJIF_GetProfileData(LJIF_HEAD_INDEX(GetProfileParam1.ListIndex), ProfileInfo, pBuffer(0), GetProfileParam2)
'Get Profile Data
2.改成DELPHI后,就这个函数提示参数错误
DELPHI
定义
Type
pLJIF_PROFILE_INFO=^LJIF_PROFILE_INFO;
LJIF_PROFILE_INFO=record
fXStart : Single;
fXPitch : Single;
End ;
/Get Profile Data
Function LJIF_GetProfileData ( ProfileTarget:LongInt; var pProfileInfo: LJIF_PROFILE_INFO;var pProfile:array of Single; nCount :LongInt): LongInt;external 'LJIF.dll';
调用:
rc := LJIF_GetProfileData(0, ProfileInfo, pBuffer, GetProfileParam2.Value) ;
始终报参数错误?
求大侠指点!

  • 写回答

3条回答

  • danielinbiti 2015-05-08 07:58
    关注
     VB中 ByRef pProfile As Single这是按地址传一个single
     但看你delphi中定义
     var pProfile:array of Single  这定义的是一个数组
    
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料