CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

!!!重新提一个关于在 VB 中调用 DLL 中的函数的问题!!!

楼主Highway2000(高速2000)2001-08-19 21:39:20 在 VB / 基础类 提问

我把要求简化一下:  
   
  在这个   DLL   中有:  
   
  char   version[]   =   "DLL-1234";  
   
  char   *   get_version(   char   *   lpBuff   )  
  {  
          strcpy(   lpBuff,   version   );  
          return(   lpBuff   );  
  }  
   
  这样在   BCB   中调用正常。  
   
  我的问题是:  
   
  1。怎样在   VB   中声明这个函数?(假定   DLL   名为   C:\DEMO.DLL)  
  2。在VB中怎样调用?(包括传递指针参数和获取返回值)  
   
  我不会VB,需要具体代码,我想用不了几行吧?  
   
  或者是   get_version()   需要怎样改一下也可以,但要保证在   BCB   和   VB   的程序中都能正确调用。  
  问题点数:100、回复次数:7Top

1 楼charset(神奈川)回复于 2001-08-19 21:53:46 得分 10

Declare   Function   get_version   lib   "C:\DEMO.DLL"   (ByVal   lpBuff   as   String)   as   String  
   
  也可以是  
  Declare   Function   get_version   lib   "C:\DEMO.DLL"   (ByVal   lpBuff   as   String)   as   Long  
   
  返回Long   的是get_version的返回字符的第一个字符的地址。就是  
  dim   rc   =   getversion("AAC")  
  然后可以使用拷贝MemCopy的API拷贝从RC开始的区域。  
  一般是用返回String   的比较好,我倾向于返回String的。  
  给我50分。Top

2 楼wyzegg(蛋)回复于 2001-08-20 00:24:32 得分 0

还有你的VC的程序一定要有一个def文件  
  LIBRARY   your.dll  
  EXPORTS  
          get_version   @1   PRIVATE  
  才行  
  Top

3 楼jixian(极限)回复于 2001-08-20 01:18:21 得分 0

BCB里我说了Top

4 楼lingll(blog.csdn.net/lingll/)回复于 2001-08-20 01:18:26 得分 0

vc就搞过,bc就不懂了Top

5 楼lingll(blog.csdn.net/lingll/)回复于 2001-08-20 01:19:59 得分 0

gzTop

6 楼SCUM(人渣)回复于 2001-08-20 23:37:58 得分 90

 
  1。声明:  
  Public   Declare   Function   get_version   Lib   "C:\DEMO.DLL"   (ByVal   lpBuff   As   String)   As   String  
   
  声明最好放在   Module   文件中  
   
  2。调用:  
  Dim   Buf   As   String  
  Buf   =   space$(   512   )  
  get_version   Buf  
   
  这样就可以了  
   
  还有,最好不要使用返回的字符串,有可能会出错。  
   
  Top

7 楼Walkline(☆往事浮现☆)回复于 2001-08-20 23:53:45 得分 0

用   LoadLibrary   获得链接库的接口,在用   GetProcAddress   取得想要调用的函数的地址,最后用   CallWindowProc   就可以执行调用了。  
  我觉得还是这样好一点Top

相关问题

  • 关于VB调用dll里char*函数
  • 如何在VB中静态调用DLL函数
  • 请教一个关于VB调用VC DLL函数的问题
  • 高分请教vb中调用cdecl dll函数的方法?
  • DLL调用函数问题
  • DLL的函数调用????
  • vb 调用 VC 编译成功的 DLL 字符串处理函数出错
  • VB做DLL问题(函数如何像WinAPI一样声明后即可调用)
  • VB如何调用VC做的DLL中的一个类下面的函数?
  • 可以在ASP调用的DLL文件中使用VB函数么

关键词

  • 函数
  • vb
  • dll
  • 调用
  • lpbuff
  • 返回
  • version
  • demo
  • byval
  • 声明

得分解答快速导航

  • 帖主:Highway2000
  • charset
  • SCUM

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

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