调用.Net的
创新互联长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为南山企业提供专业的成都网站制作、网站建设,南山网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
程序集
还是
COM组件
,
这是不同的,
如果你用Visual
Studio,那在项目的引用那里直接引用就可以了,.Net程序集和COM组件在不同的Tab页里。
COM组件要先注册才能看到
regsvr32
com.dll
在模块中引用到窗体中的控件,必须在该控件名之前由相应的窗体名作为前导,例如:
1,要引用窗体Form1中的控件TextBox1
MsgBox(Form1.TextBox1.Text)
2,要引用窗体Form2中的控件TextBox1
MsgBox(Form2.TextBox1.Text)
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 这样的方法了
Private Function ReadFile(ByRef a As String) As String
a = "bian"
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As String = "yuanlai"
ReadFile(a)
''想要的结果就是在这里使用a的值是"bian"
MsgBox(a)
End Sub
===================
以上就可以,不知道你“ByRef a As b”的b是什么东西