vb dll和工程如果想要共用相同的变量应该如何声明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb dll和工程如果想要共用相同的变量应该如何声明相关的知识,希望对你有一定的参考价值。

我用VB写了一个DLL
然后在工程中引用这个DLL,先给一些变量赋值,然后调用DLL(在DLL中要用到这些变量)进行一些运算,我该如何声明这些变量呢?

用PUBLIC?
如果我在DLL中PUBLIC的话,编译好DLL,然后在工程中调用这个DLL,在工程中不声明这些变量,那么,工程出错,说变量未定义~~!
如果我不在DLL声明那些变量的话,那么DLL根本就无法编译,也是变量未定义。
如果我在2边都PUBLIC,那就是不同的变量了,虽然可以运行,但是那些变量都为0。

到底应该怎么办,大虾帮帮忙,我接触VB时间还不长~~!
看了alwaysfirst的回答,我想问下应该把那段PROPERTY的代码放到哪里去呢???
还有我大概有40来个变量,都这么一段段写???

参考技术A 可以把变量做成属性
调用DLL时直接给DLL的属性赋值就可以了啊

-------下面就是类生成器生成的属性---------
'保持属性值的局部变量
Private mvarVaName As String '局部复制
Public Property Let VaName(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.VaName = 5
mvarVaName = vData
End Property

Public Property Get VaName() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.VaName
VaName = mvarVaName
End Property

给dll赋值 dll.VaName="aaaa"
在dll里的mvarVaName值就为aaaa

------------------------------------
1.打开VB,点击外接程序,选择外接程序管理器,双击VB类生成器工具,点击确定

2.再次打开外接程序管理器,可以看到VB类生成器工具了。

3.打开VB类生成器工具,点击文件->新建类。(如果你有类了。可以直接选中那个类名称,进入第4步)

4.再次点击文件->新建属性 输入名称,选择数据类型,点击确定

5,当所有属性输入完毕后,可以点击文件->更新工程 类生成完毕
参考技术B 楼上的是VB.Net的,哈

40来个变量用数组
Dim arr(50)

Public Property Get Item(Index As Integer) As Variant
Item = arr(Index)
End Property

Public Property Let Item(Index As Integer, ByVal vNewValue As Variant)
arr(Index) = vNewValue
End Property本回答被提问者采纳

VB中布尔型变量如何赋值?

定义了几个变量 dim oa as boolean dim o1 as single 想检查o1这个变量是不是整数,怎么写? 变量随便用 有必要用到一个布尔型变量么?

参考技术A 你是想要一个
函数
来判别o1这个
变量
吧,我给你写了一个:
Function
IsInt(Num)
As
Boolean
If
Int(Num)
=
Num
Then
IsInt
=
True
Else
IsInt
=
False
End
If
End
Function
其中,Num就是你要处理的o1
IsInt
返回值
就是
布尔型
的变量

以上是关于vb dll和工程如果想要共用相同的变量应该如何声明的主要内容,如果未能解决你的问题,请参考以下文章

如何用VC编写dll文件

子数涵数·VB——DLL动态链接库

关于dll文件的引用问题

一个工程怎么知道它调用了那些DLL

如何在vb6中注册一个不能用作com互操作的.net DLL?

DLL怎么调用另一个DLL