今天看到一个问题:“在VB中调用,如何在VB中调试VB.net 开发的DLL呢?”
http://forums.microsoft.com/china/ShowPost.aspx?PostID=4115159&SiteID=15&mode=1
他的想法就是能够在调试的时候进入到DLL的内部。
下面我就来讲解如何实现的
1。用VB.NET创建类库
<bgsound cep="0"><span style="COLOR: #000000"><</span><span style="COLOR: #000000">Runtime.InteropServices.Guid(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">A3DD9964-E08F-4956-94D7-8DD69A7765DD</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">></span><span style="COLOR: #000000">_<br></span><span style="COLOR: #0000ff">Public</span><span style="COLOR: #000000"></span><span style="COLOR: #0000ff">Interface</span><span style="COLOR: #000000">iTest<br></span><span style="COLOR: #0000ff">Sub</span><span style="COLOR: #000000">TestMethod()<br></span><span style="COLOR: #0000ff">EndInterface</span><span style="COLOR: #000000"><br><br></span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">Runtime.InteropServices.Guid(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">A3DD9964-E08F-4956-94D7-8DD69A7765DE</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">></span><span style="COLOR: #000000">_<br></span><span style="COLOR: #0000ff">Public</span><span style="COLOR: #000000"></span><span style="COLOR: #0000ff">Class</span><span style="COLOR: #000000">Test<br></span><span style="COLOR: #0000ff">Implements</span><span style="COLOR: #000000">iTest<br><br></span><span style="COLOR: #0000ff">Public</span><span style="COLOR: #000000"></span><span style="COLOR: #0000ff">Sub</span><span style="COLOR: #000000">TestMethod()</span><span style="COLOR: #0000ff">Implements</span><span style="COLOR: #000000">iTest.TestMethod<br></span><span style="COLOR: #0000ff">MsgBox</span><span style="COLOR: #000000">(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">HelloWorld!</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #0000ff">EndSub</span><span style="COLOR: #000000"><br><br></span><span style="COLOR: #0000ff">EndClass</span></bgsound>
编译,记得在项目属性的“编译”选项卡里选中“为 COM Interop 注册”复选框
2。用VB6创建测试工程
引用上面编译好的DLL,编写代码
<bgsound cep="1"><span style="COLOR: #0000ff">Dim</span><span style="COLOR: #000000">cls</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">ClassLibrary1.iTest<br></span><span style="COLOR: #0000ff">Set</span><span style="COLOR: #000000">cls</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"></span><span style="COLOR: #0000ff">New</span><span style="COLOR: #000000">ClassLibrary1.Test<br>cls.TestMethod<br></span></bgsound>
保存成project1.vbp并退出
3。设置调式信息
打开类库项目属性的“调试”选项卡,设置“启动操作”为“启动外部程序”,指定为VB6.EXE的位置。
设置“启动选项”中“命令行参数”为Project1.vbp, “工作目录”为Project1.vbp所在目录。如图
4。调试DLL
万事俱备。现在我们在MsgBox("Hello World!")打上断点,运行类库。你会发现VB6自动打开了,并且加载了project1.vbp.
执行VB6代码,哈哈,程序已经停在断点处,开始调试吧!
分享到:
相关推荐
在这个案例中,"VC VB 联合编程"指的是使用Visual C++(VC)和Visual Basic(VB)这两种不同的编程工具进行协作,通过动态链接库(DLL)来实现程序功能的扩展。下面将详细阐述这一主题: 1. **VC算法生成DLL**: ...
- 使用Visual Studio的调试工具进行客户端和服务器的联合调试。 - 模拟不同网络条件测试网络程序的健壮性。 综上所述,VB.NET客户端-服务器编程涉及到网络通信、数据传输、并发处理等多个方面,理解并掌握这些...
借助.NET接口,开发者可以利用***语言调用这些API,实现更高级的自动化和自定义功能,从而提升工作效率并满足特定的业务需求。 本书《***方向开发实例》以实例为导向,详细地介绍了使用***进行UG/NX二次开发的具体...
用户可以通过VB.NET语言调用UG的函数,实现VB.NET与User Interface style对话框的使用方法。 UG二次开发是一种基于VB.NET的开发方式,旨在帮助用户快速开发UG应用程序。用户可以通过VB.NET语言调用UG的函数,实现...
开发者可以利用C#、VB.NET等.NET语言调用Halcon的函数,实现各种复杂的图像处理任务,如形状匹配、模板匹配、1D/2D码识别等。 在LabVIEW与Halcon.NET混合编程中,我们需要将Halcon的.NET组件集成到LabVIEW环境中。...
此外,VB的ADO.NET库可能被用来连接和操作SQL Server数据库,进行数据的增删改查操作。 SQL Server作为后台数据库,是存储和管理员工培训数据的核心。它提供了强大的数据处理能力,支持复杂的查询和事务处理。...
刚刚从visual basic 中杀回来,由于急切想试一下,上位机(微机)与下位机(单片机)相结合的无穷魅力,就急切的利用好心人的实例匆匆修改调试,终于建立了一座小桥,面貌和功能真是我都不忍心看。但网友比我还急切...
8. **错误处理与日志记录**:了解如何设置自定义错误页面和实现全面的日志记录,以便在出现问题时进行调试和故障排查。 9. **部署与维护**:最后,章节会介绍如何将开发的网站部署到IIS服务器,以及如何进行日常的...
6. **类型定义**:F#支持记录类型、联合类型、接口和类,可以构建复杂的面向对象模型。 7. **运算符重载和成员**:F#允许定义自定义运算符,并支持面向对象编程中的方法、属性和事件。 8. **模块(Module)**:...
在.NET框架中,ADO.NET提供了跨越多种编程语言的标准化接口,如VB.NET、C#、C++和Jscript等。它基于公共语言规范(CLS),封装了一系列的服务、类和数据类型,这些都依赖于XML来表示数据。XML在这里起着关键作用,...
5. **数据操作与交互**:VB与SQL的交互是通过ADO.NET(ActiveX Data Objects .NET)实现的,这是一个数据访问接口,允许VB代码连接到数据库,执行SQL命令,获取和更新数据。 6. **安全性与权限管理**:在教务系统中...
1. **Visual Studio 2010 (VS2010)**:这是一款由微软开发的IDE,广泛用于C++、C#和VB.NET等语言的开发。在本项目中,VS2010作为主要的开发平台,提供了项目管理、代码编辑、编译调试等一系列功能,便于开发者构建和...
6. **编程实践**:学习者可以通过解压缩后的文件进行编程实践,了解如何在VS中打开VF项目,如何将VF的表和查询集成到VS项目中,以及如何利用VS的调试工具优化VF代码。 7. **协同工作**:VF和VS的结合使用还涉及团队...
6. **错误处理和调试**:在C#中调用NIVISION时,要注意异常处理,确保在遇到错误时能够优雅地退出并提供有用的反馈。同时,使用NIVISION提供的可视化工具可以帮助调试匹配结果,例如`imaq.Display`函数可以显示中间...
它提供了一个直观的界面,让开发者能够轻松地编写、运行和测试LINQ查询,支持C#、VB.NET和F#等语言。这款工具在提升代码质量和效率方面具有显著优势,尤其在处理数据查询时。 首先,LINQPad的核心功能是其对LINQ...
刚刚从visual basic 中杀回来,由于急切想试一下,上位机(微机)与下位机(单片机)相结合的无穷魅力,就急切的利用好心人的实例匆匆修改调试,终于建立了一座小桥,面貌和功能真是我都不忍心看。但网友比我还急切...
首先,VS2005是一款强大的集成开发环境(IDE),支持多种编程语言,如C#、VB.NET等,是.NET Framework应用程序开发的主要平台。它的界面友好,提供了丰富的设计工具和调试功能,使得开发者能够快速创建、测试和部署...