为什么不能调用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);


...全文
247 点赞 收藏 7
写回复
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中什么类型?
回复 点赞
发动态
发帖子
进程/线程/DLL
创建于2007-09-28

6376

社区成员

4.9w+

社区内容

VC/MFC 进程/线程/DLL
社区公告
暂无公告