Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Function GetTestClass(lngClassNo as long) as Object
- Dim strClassName as String
- strClassName = "CTest" & CStr(lngClassNo)
- Set GetTestClass = New instance of class(strClassName)
- End Function
- Function GetTestClass(lngClassNo as long) as Object
- Select Case lngClassNo
- Case 1
- Set GetTestClass = New CTest1
- Case 2
- Set GetTestClass = New CTest2
- ...
- End Select
- End Function
- Function GetTestClass(lngClassNo as long) as Object
- Set GetTestClass = CreateObject("MyDll.CTest" & lngClassNo)
- End Function
- Public Function CreateInstance(typeName As String) As Object
- Dim module As VBComponent
- Set module = LazilyCreateMPCache()
- If Not FunctionExists(typeName, module) Then
- Call AddInstanceCreationHelper(typeName, module)
- End If
- Dim instanceCreationHelperName As String
- instanceCreationHelperName = module.name & ".GetInstanceOf" & typeName
- Set CreateInstance = Application.Run(instanceCreationHelperName)
- End Function
- Sub AddInstanceCreationHelper(typeName As String, module As VBComponent)
- Dim strCode As String
- strCode = _
- "Public Function GetInstanceOf" & typeName & "() As " & typeName & vbCrLf & _
- "Set GetInstanceOf" & typeName & " = New " & typeName & vbCrLf & _
- "End Function"
- Call AddFunction(strCode, module)
- End Sub
- Dim CTest() as New CTest
- For n = 1 to 10
- Redim Preserve CTest(n)
- CTest(n).Name = "CTest" & CStr(n)
- Next l
Add Comment
Please, Sign In to add comment