Используйте Sub Main как ваш начальный объект.
Создайте модуль, как этот
Option Explicit
Private TerminateDetect As Terminate
Public Sub Main()
Set TerminateDetect = New Terminate
MsgBox "Setup"
End Sub
Тогда ваш прекратить класс выглядит следующим образом
Option Explicit
Private Sub Class_Terminate()
MsgBox "I terminated"
End Sub
тест класс я сделал это
Option Explicit
Public Description As String
Public Sub Test()
MsgBox "test"
End Sub
Я сделал форму с не такие ссылки
Option Explicit
Private O As Object
Private Sub Command1_Click()
Set O = CreateObject("TestUnload.Dummy")
O.Test
End Sub
Private Sub Command2_Click()
Set O = Nothing
End Sub
Когда я нажимаю на Command1, я получаю два сообщения для загрузки DLL, а другое для запуска теста. Затем, когда я нажимаю Command2.
Этот пример довольно грубый, поэтому я надеюсь, что вы поняли суть.
Резюме Внесите класс TDLLManagement в каждый ActiveX, который у вас есть. Поместите свой код инициализации в Class_Initialize и ваш код завершения в Class_Terminate. Затем необходимо, чтобы Sub Main создала экземпляр этого класса и назначила частную переменную модуля. Обратите внимание, что если у вас есть классы GlobalMultisuse и напрямую ссылайтесь на ActiveX DLL, вы хотите сделать простые тесты, чтобы увидеть, где загружается DLL.
У вас есть исходный код для этих VB6 ActiveX DLL? –
Да, у меня есть исходный код для них. – dommer
Каков мотив для обнаружения этого? Обновление? – AnthonyWJones