为什么不能调用VC写的DLL,用regsvr32注册失败!!!

haixj 2004-12-23 11:35:39
一个VC写的DLL RWL.DLL,用VB和VC都可以调用,但我要用VFP等调用时却不行,用REGSVR32注册这个DLL时
regsvr32 RWL.DLL
提示RWL.DLL已经载入,但找不到DLLREGISTERSERVER入口点.RWL.DLL可能不是DLL或OCX,
我在VFP中调用也是出现找不到入口点,是怎么回事,这个DLL不是标准的WIN API吗??我没有这个DLL的源码,是厂方给的.
这是VB下的调用方法,是可以的
Private Declare Function FirmUpg Lib "rwl" Alias "_FirmUpg@4" (ByVal filename As String) As Long
Private Declare Function InitComm Lib "rwl" Alias "_InitComm@8" (ByVal Port As Byte, ByVal Baud As Long) As Long
Private Declare Function Deduct Lib "rwl" Alias "_Deduct@8" (ByVal i As Long, AI As Any) As Long

C++的调用方法举例
int _stdcall InitComm(unsigned char cPort,int cBaud);


...全文
302 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
haixj 2004-12-24
  • 打赏
  • 举报
回复
?????
oyljerry 2004-12-23
  • 打赏
  • 举报
回复
regsvr32是注册组件服务的,普通dll无法注册的
__stdcall就是来兼容pascal的,应该没问题
mashimaro3600 2004-12-23
  • 打赏
  • 举报
回复
一个VC写的DLL RWL.DLL,用VB和VC都可以调用,但我要用VFP等调用时却不行,用REGSVR32注册这个DLL时
regsvr32 RWL.DLL
提示RWL.DLL已经载入,但找不到DLLREGISTERSERVER入口点.RWL.DLL可能不是DLL或OCX,
----------------------------------------------------------------------------------

难道你的dll是个com ? 不是com你用regsvr32当然注不上


haixj 2004-12-23
  • 打赏
  • 举报
回复
应是STDCALL的,我用DELPHI写过STDCALL的是可以调用的
一般标准的WIN API函数都可以调用的
MZP 2004-12-23
  • 打赏
  • 举报
回复
VFP调用规则是c的还是pascal的,试试用__cdecl试试
haixj 2004-12-23
  • 打赏
  • 举报
回复
haixj 2004-12-23
  • 打赏
  • 举报
回复
多谢楼上的,regsvr32注册问题明白了,但就是搞不懂为什么用VFP调用不了(其它的都可以),有谁知道C++中unsigned char和int对应VFP中什么类型?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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