CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

请教如何编写供VB调用的非COM的DLL导出函数?

楼主sproll(sproll)2003-11-04 13:59:11 在 VC/MFC / 进程/线程/DLL 提问

小弟创建了一个DLL工程,然后添加了一个函数,并在DLL中导出,该函数C++声明为:  
  long   SaveImage(   LPCTSTR   pstrSourceFile,   LPCTSTR   pstrDestinationFile,   long   lngImageType   )  
   
  然后小弟在VB中调用这个函数,于是我在VB中这样声明:  
   
  Private   Declare   Function   SaveImage   Lib   "E:\ImageChange.dll"   (ByVal   strSourceFile   As   String,   ByVal   strDestinationFile   As   String,   ByVal   lngImageType   As   Long)   As   Long  
   
  该VB工程运行时,每当SaveImage返回后就出错(调试发现SaveImage中的代码已经执行完毕),请问小弟这两个声明是不是写错了? 问题点数:100、回复次数:8Top

1 楼sproll(sproll)回复于 2003-11-04 14:01:03 得分 0

错误代码是49,内容是:bad   dll   calling   convention.Top

2 楼xiaohedou(小河豆(充电中.18%.))回复于 2003-11-04 23:32:36 得分 0

先标记一下!Top

3 楼flyelf(空谷清音)回复于 2003-11-05 15:56:25 得分 30

long   __stdcall   SaveImage(...)Top

4 楼caslwzgks(梦想家)回复于 2003-11-06 09:43:55 得分 10

agree   to   flyelf(空谷清音)Top

5 楼FreeSeagull(蓝天,白云,松花江)回复于 2003-11-06 09:51:33 得分 20

前两个参数是指针,应该使用ByRef方式传递。Top

6 楼FreeSeagull(蓝天,白云,松花江)回复于 2003-11-06 09:53:16 得分 20

其实,不使用stdcall方式声明函数也是可以的。只要在.DEF中声明好输出函数就可以了。Top

7 楼areshong(strength&honor)回复于 2003-11-13 16:27:56 得分 20

要在VB中调用的话,好像函数声明中需要加上extern   "C"  
  当然,在.DEF中声明也可以Top

8 楼sproll(sproll)回复于 2003-11-13 16:42:55 得分 0

谢谢大家,我试试!Top

相关问题

  • 如何声明正规Dll导出函数,使该函数可同时被VC/VB/Delphi调用?
  • 简单问题,c++写的dll,导出函数无返回值,在VB中如何调用。
  • 怎样在dll的导出函数中调用客户中的其他函数??
  • dll中导出函数的互相调用问题
  • 为什么DLL导出类的析购函数不被调用?
  • Release中调用DLL导出函数出现问题
  • API函数(DeleteFile)在vb调用
  • VB函数调用的问题
  • vb怎样调用Excel中的函数
  • 在VB中怎么调用API函数 ?

关键词

  • 函数
  • vb
  • dll
  • 调用
  • saveimage
  • 小弟
  • 声明
  • byval
  • long

得分解答快速导航

  • 帖主:sproll
  • flyelf
  • caslwzgks
  • FreeSeagull
  • FreeSeagull
  • areshong

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo