快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

vb.net新建dll,vb新建form

vb.net生成java可调用的dll(2)

调用函数的时候内部的工作原理。

创新互联建站专业为企业提供内黄网站建设、内黄做网站、内黄网站设计、内黄网站制作等企业网站建设、网页设计与制作、内黄企业网站模板建站服务,十多年内黄做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

不加的话默认是__cdecl,加的话变成__stdcall,

虽然没有硬性规定,不过DLL导出方法比较习惯会是后一种。

它涉及到调用函数的时候如何传递参数。

函数调用的时候参数是通过运行时栈来传递的,将参数放入栈中,然后进入函数代码执行

在执行完函数代码之后,要将栈中的参数清理掉。此时应该由哪一边来清理,是__cdecl和__stdcall最大的不同。

前者的原则是谁放进栈的谁清理,后者的原则是谁用完谁清理。

只要保证调用的一方的声明和被调用的一方的声明一致,就没有问题

否则会出现两边都不清理参数或者参数被重复清理的问题,都会造成栈的不平衡,然后大多数情况下这个时候程序崩溃

啥?写上WINAPI报错是不是没有引入必要的头文件啊比如windows.h……

直接写 __stdcall 来代替WINAPI也可以,如果没有引入头文件的话……

VB.NET可以生成标准的DLL吗?

不能,只能生成.NET类库

VB.NET相对简单,上手快

VS是集合VB.NET C# VC.Net....等的编程语言平台IDE,可以选择安装

和VB6.0差别很大

可以到网上查查.

怎样用VB.NET写和调用DLl窗体

一、带窗体的dll创建

1、先新建 类库(testdll),在项目中添加两个窗体form1(主窗体)、form2,为了与后面的调用区分分别命名为fm1,fm2;并在fm1窗体中添加一个按钮用来调用fm2如下图

2、在fm1窗体代码中先引用fm2,    按钮代码调用fm2.如图

3、生成dll,(class1.vb中不需要写任何代码)

二、调用dll

1、新建 一个windows应用程序并添加一个按钮用来调用dll中的窗体,选 择 “项目”-“添加引用”,选择刚才创建的testdll

2、窗体代码中先引用testdll,再定义一个testdll中的fm1对象,最后执行对象的show方法

3、运行结果如下:

vb.net 调用其他文件 如 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里,以后升级或重用都比较方便。

在Visual Studio中用VB.Net如何创建自己的动态连接库dll?

新建---类库---把你的函数放在新建的类库中-----生成ClassLibrary1

在net程序中---引用----对应目录下的ClassLibrary1.dll

对应的代码定义如: Dim mydll As New ClassLibrary1.Class1

最后就可以用mydll调用你的函数MyFunction了: mydll .MyFunction(1, 2)

注意:vb.net编写的DLL不能用API函数的方式通过Declare宣告,只能引用的方式使用

vb.net要编写的DLL能被vb6.0引用,需要先在编译属性中选择“为COM互操作注册”打勾

然后在Visual Studio 2008 命令提示中运用RegAsm命令加/tlb命令生成tlb文件

例如:c:\ReleaseRegAsm ClassLibrary1.dll /tlb回车就会在当前目录生成ClassLibrary1.tlb文件

vb6.0中引用ClassLibrary1.tlb即可。

vb 如何调用 NET写的DLL?

VB.net语言

1、创建组件定义

新建一个Probject,在代码中写入:

Public Interface IDemo

Function Test() As String

End Interface

2、实现组件定义

新建一个Probject,添加对上述Probject的引用后,在代码中写入

Public Class Demo

Implements IDemo.IDemo

Public Function Test() As String Implements IDemo.IDemo.Test

Test = "Hello World!"

End Function

End Class

3、编译出Demo.dll组件

4、使用.net的工具 Visual Studio .Net 2003 Command Prompt,输入以下命令

Regasm Demo.dll /tlb:Demo.tlb

把Demo.dll注册为一个com对象(这个com对象不等同于普通的用VB编写的Com对象),并导出类型库Demo.tlb

5、新建一个VB工程,添加对Demo.tlb和IDemo.tlb的引用

6、定义两个全局变量

Dim vbDemo As Demo.Demo

Dim vbIDemo as IDemo.IDemo

7、在Form_Load事件中初始化

'初始化实体类

Set vbDemo = New Demo.Demo

'将实体类引用到抽象类

Set vbIDemo = vbDemo

8、然后,我们就可以用 vbIDemo.Test 这样的方法了


本文标题:vb.net新建dll,vb新建form
浏览地址:http://6mz.cn/article/hocoje.html

其他资讯