VB   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了【VB6】实现VB6中类的静态方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

原创文章,欢迎支持

如创建了一个数组创建类,专门用来创建特定类型的数组,它被存在一个“ArrayHelper.cls”文件中。代码如下:@H_874_4@

Option Explicit
'///////////////////
'@@sumMary
'@@require
'@@reference
'@@license
'@@author
'@@create
'@@modify
'////////////////////

'-------------------
' 初始化
'-------------------
Private Sub Class_Initialize()
End Sub

'--------------------
' 销毁
'--------------------
Private Sub Class_Terminate()
End Sub

'///////////////////////////
'//
'// 公有方法
'//
'///////////////////////////
Public Function StringArray(ParamArray arr()) As String()
  Dim a() As String
  Dim i As Integer
  ReDim a(UBound(arr))
  For i = LBound(arr) To UBound(arr)
    If VarType(arr(i)) <> vbString Then
      Err.Raise 104,"[SunSoft]参数非String,请检查代码!"
    End If
    a(i) = CStr(arr(i))
  Next i
  StringArray = a
End Function

Public Function IntegerArray(ParamArray arr()) As Integer()
  Dim a() As Integer
  Dim i As Integer
  ReDim a(UBound(arr))
  For i = LBound(arr) To UBound(arr)
    If VarType(arr(i)) <> vbInteger Then
      Err.Raise 104,"[SunSoft]参数非Integer,请检查代码!"
    End If
    a(i) = CStr(arr(i))
  Next i
  IntegerArray = a
End Function

当我需要在其他的地方使用这里的方法的时候,我必须创建一个类,才能使用这个方法。如下:@H_874_4@

Dim k() As String
  Dim o As New ArrayHelper
  k = o.StringArray("1","2222")
  Stop

在Stop命令帮助下,我们在调试模式下验证,k变量的确得到了正确的数组。@H_874_4@

但是,由于VB6的机制,我们没法在不创建对象的时候调用这个对象的方法。@H_874_4@

今天,创建ActiveX DLL的时候,意外发现了一个方法。@H_874_4@

使用ActiveX DLL创建支持静态函数的类

创建工程

创建一个ActiveX DLL工程,工程名为SunSoft@H_230_197@@H_874_4@

创建类

首先,添加一个类模块(导入cls文件@H_230_197@或者编写创建一个新的类模块@H_230_197@)
然后,在右侧的属性窗口,按照如下的表格设置类的属性@H_874_4@

@H_809_219@mTStransactionMode
属性名 属性值
(名称) ArrayHelper
DataBindingBehavior 0 - vbNone
DatasourceBehavior 0 - vbNone
Instancing 6 - GlobalMultiUse
0 - NotAnMTSObject
Persistable 0 - NotPersistable

编译导出

编译,生成SunSoft.dll@H_230_197@@H_874_4@ @H_840_262@使用方法

新建一个普通exe工程,然后在工程-引用-浏览(B)...@H_230_197@中选择Sunsoft.dll@H_230_197@,完成在新工程中对它的引用。
在新工程的窗口中绘制一个按钮,为它增加单击事件。@H_874_4@

Dim k() As String
k = ArrayHelper.StringArray("1","2222")
Stop

可以看到我们可以直接访问到ArrayHelper提供的方法了。@H_874_4@

大佬总结

以上是大佬教程为你收集整理的【VB6】实现VB6中类的静态方法全部内容,希望文章能够帮你解决【VB6】实现VB6中类的静态方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。