CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

请教:如何在vb中调用VC写的类源代码?

楼主bdgyz(中关村)2002-01-26 00:07:33 在 VB / 基础类 提问

      一个VC写的class,对我的工程很有帮助。我也不想用Vb重来一遍了。效率不高,而且时间不允许。那位gg有过这方面的经验,请帮助我一下。谢谢  
      问题点数:118、回复次数:14Top

1 楼Mike_sun(漠风)回复于 2002-01-26 00:08:18 得分 10

编译成DLL,在VB中调用  
  Top

2 楼bdgyz(中关村)回复于 2002-01-26 01:35:10 得分 0

源代码级别上的引用有嘛?  
  Top

3 楼wei131420(我为.net狂)回复于 2002-01-26 01:40:06 得分 0

VB怎样调用DLL阿Top

4 楼bdgyz(中关村)回复于 2002-01-26 02:06:28 得分 0

to   wei131420(庸才)   
   
  hehe,你用的很多控件不都是写在dll文件里面的嘛?  
   
  可以再dll里做成带form的(常规UI控件),也可以不带FOrm,如WinAPI函数。  
   
  自己的dll文件引用时要先注册:regsvr32命令  
  然后可以在你的工程里面声明你的类或者user   control   或者function了  
  Top

5 楼Bardo(巴顿(永远只有一个))回复于 2002-01-26 13:24:56 得分 30

中关村的DLL都要注册?(Hehe)用vc可写标准DLL,即API的DLL.这是不用注册的。  
  当然,如果你用ATL,则要注册!  
   
   
  Top

6 楼keyage(华)回复于 2002-01-26 15:55:11 得分 10

VB调用DLL,这可是基本的知识呀,查msdn吧!Top

7 楼AdamBear(亚当熊)回复于 2002-01-26 18:42:38 得分 0

源码级别的引用肯定没有,要想保持类结构把它们写成ActiveX   DLL。Top

8 楼bdgyz(中关村)回复于 2002-01-26 20:27:01 得分 0

to   Bardo(巴顿):  
      看来我是在误导别人了。但是如果自己在DLL文件里写了一些函数。如果不注册,怎么才能让VB知道你引用这个DLL文件的地址呢?望巴顿大哥赐教。  
       
  Top

9 楼sunbo()回复于 2002-01-27 11:07:06 得分 20

        VC写的class可以用扩展DLL的形式输出,但由于C++名称修饰的没有一个统一的标准,另一个VC程序(EXE、DLL)可以直接以class   的形式使用DLL,但是VB不能。  
          若希望VB以class的形式使用VCDLL,VC写的class可以做成COM组件输出,但是COM   组件必须注册。(regsvr32   COM组件.dll)。  
          若只希望VB使用VC写的class的功能,可将class的功能以全局函数的形式从标准DLL(而不是扩展DLL)中输出。  
  Top

10 楼redleaves(程序员)回复于 2002-01-27 11:38:00 得分 20

Public   Declare   Function   AbortPath   Lib   "gdi32"   Alias   "AbortPath"   (ByVal   hdc   As   Long)   As   Long  
  以上就是一个在VB中声明DLL中函数的例子(用API   VIEWER生成的)。如果你自己写DLL的话,声明方式也是这样.只是要注意参数的传递方式。ByVal是传值,ByRef是传址(一般用来传指针或引用型的参数)。还要注意参数的类型,像Any这种类型就要小心使用。另外,传字符串是要注意,VB和C/C++的字符串不一样,VB字符串没有\0做结束符,还有VB的变长字符串使用不当会出莫名其妙的问题。  
  Top

11 楼cqhydz(混点分加个角)回复于 2002-01-27 17:34:25 得分 0

看看Top

12 楼gmc007(江西的佬表)回复于 2002-01-27 18:40:14 得分 20

: bdgyz(中关村) 看来我是在误导别人了。但是如果自己在DLL文件里写了一些函数。如果不注册,怎么才能让VB知道你引用这个DLL文件的地址呢?望巴顿大哥赐教。  
       
  像调用API一样声明就行了Top

13 楼lll2002()回复于 2002-01-27 22:35:24 得分 8

并非全部可以调用!Top

14 楼Bardo(巴顿(永远只有一个))回复于 2002-01-28 13:39:23 得分 0

实际上,我上面说得并不完整,如果要导出类,则VB就不可用。因而需要一定的手段:  
  用ATL或用COM,若是这样,就需注册。  
  Top

相关问题

  • 如何在VC++中调用标准C的源代码!!!!!!!!!!
  • 求VC源代码!
  • nurbs源代码(vc)
  • 谁有用VB调用DTS的源代码,能不能共享一下!谢谢!
  • 很傻的问题:VC中有Round函数吗,如何在我的源代码中调用?
  • 如何在VC中动态调用Dll导出类中的成员函数(最好有源代码)
  • 求VC中mfc,用ADO调用带返回参数的存储过程,的源代码程序
  • 求调用WinWebMail组件的源代码。
  • md5 源代码 调用问题
  • 求扫雷VC源代码

关键词

  • 函数
  • dll
  • 注册
  • 文件
  • vb
  • 组件
  • vc
  • api
  • 调用
  • 字符串

得分解答快速导航

  • 帖主:bdgyz
  • Mike_sun
  • Bardo
  • keyage
  • sunbo
  • redleaves
  • gmc007
  • lll2002

相关链接

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

广告也精彩

反馈

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