当前位置:编程学习 > C#/ASP.NET >>

Vb.NET 2008 如何调用第三方的DLL

大家好,我有一个考勤机,由于这个考勤机软件功能比较简单,导出来的数据也不满足我们实际的需求,厂家提供了一个DLL文件和说明,我想各位老师请教一下,我在VB.NET2008中如何调用这个DLL文件,最好能提供一个实例,另外有没有相关书箱比如基于第三方硬件设备开发的。 --------------------编程问答-------------------- 这个要跟厂商要 --------------------编程问答-------------------- 。。。。。。。。。。。


引用 1 楼 wuyazhe 的回复:
这个要跟厂商要


好吧,我来详细回复吧。
下面是一个烧录器的API声明


-------------------------------

Declare Function USBIO_AbortRead Lib "USBIOX.DLL" (ByVal iIndex As Integer) As Boolean
' 放弃数据块读操作
' iIndex    指定USB2ISP设备序号

'UPGRADE_ISSUE: Declaring a parameter 'As Any' is not supported. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="FAE78A8D-8978-4FD4-8208-5B7324A8F795"'
    Declare Function USBIO_WriteData0 Lib "USBIOX.DLL" (ByVal iIndex As Integer, ByRef iBuffer () As Byte, ByRef ioLength As Integer) As Boolean
' 向0#端口写出数据块
' iIndex,    指定USB2ISP设备序号
' iBuffer     指向一个缓冲区,放置准备写出的数据
' ioLength  指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

'UPGRADE_ISSUE: Declaring a parameter 'As Any' is not supported. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="FAE78A8D-8978-4FD4-8208-5B7324A8F795"'
    Declare Function USBIO_WriteData1 Lib "USBIOX.DLL" (ByVal iIndex As Integer, ByRef iBuffer () As Byte, ByRef ioLength As Integer) As Boolean
' 向1#端口写出数据块
' iIndex,    指定USB2ISP设备序号
' iBuffer,    指向一个缓冲区,放置准备写出的数据
' ioLength   指向长度单元,输入时为准备写出的长度,返回后为实际写出的长度

这个一般是厂家给的,但一般是C++的,需要你自己转换成VB.NET的声明

--------------------编程问答-------------------- 有点复杂~~ --------------------编程问答-------------------- 我刚做完一个项目,是售饭刷卡机,用的是舒特的机器,用的也是他们的dll,我在用dll导出数据后,再对其进行二次处理,得到符合要求的数据。 --------------------编程问答--------------------

引用 4 楼 whitewolf123 的回复:
我刚做完一个项目,是售饭刷卡机,用的是舒特的机器,用的也是他们的dll,我在用dll导出数据后,再对其进行二次处理,得到符合要求的数据。

这个你可以详细的讲解一下不?多谢! --------------------编程问答-------------------- 先在解决方案管理器右键菜单中选择"添加引用",在弹出的对话框中,找到你要添加的DLL,确定。
然后在代码常规声明部分添加代码:
imports 你的dll名称

然后就可以像类一样的使用它,下面是我当时找到的参考资料:

DLL(动态链接库)是一个很有用的东西,在开发大项目的时候显得非常重要,因为多人合作开发时,可以给每个人分配一个任务,用DLL完成,最后组合起来,就不会出现互相冲突的问题。这里给出最简单的DLL编写与调用的示例,本人水平不高,各位看官莫笑。

首先,我们打开VB.NET,选择类库,名称改为test



然后我们输入以下代码

Public Class test

    Public Function test(ByVal a As Long, ByVal b As Long) As Long

        Return a + b

    End Function

End Class



保存后,生成DLL文件。




这就是最简单的一个DLL,下面是调用该DLL的示例

新建一个工程,单击“项目” --> 添加引用




找到刚才生成的DLL,双击它



添加引用以后,似乎什么也没发生,这时我们输入以下代码:

Imports test.test

这样,就包含了该DLL的类。

然后我们定义一个类

Dim test As New test.test

这样,就可以使用里面的函数了,下面是程序示例

Imports test.test

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim test As New test.test

        MsgBox(test.test(1, 2))

    End Sub

End Class




运行该程序,可以看到,调用了DLL内的函数。

这就是最简单的DLL示例,我们可以将一些复杂的代码集成到DLL里,以后升级或重用都比较方便。 --------------------编程问答-------------------- 添加引用DLL后,厂家应该会提供给你一个调用方法说明文档.你照着文档说明,看下里面的方法! --------------------编程问答--------------------
whitewolf123是个很好的程序员,前几天还帮我解决了一个ACCESS 条件查询的问题,谢谢了
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,