Я строю базу данных Access, используя некоторый код VBA.
Я сделал очень простой класс и функцию, которая создает экземпляр этого класса. Выполнение этой функции приводит к ошибке 91: переменная объекта или переменная блока не установлены. После отладки я обнаружил, что Access пытается завершить созданный объект, и завершение функции завершения приводит к ошибке.
Я намеревался создать фабрику для MyObject, чтобы создать объект и инициализировать его с заданными аргументами. Я снял все это, чтобы найти проблему, и теперь я ошеломлен. Может кто-то указать, что я делаю неправильно, потому что я понятия не имею.
Класс, который я создал, называется MyObject:
Private Sub Class_Initialize()
'does literally nothing
End Sub
Private Sub Class_Terminate()
'does literally nothing
End Sub
Функция, которую я сделал для инициализации класса, расположенного в другом модуле:
Public Function createMyObject(someArg As String) As MyObject
Set createMyObject = New MyObject
End Function
Я, очевидно, ожидал, что функция createMyObject будет возвращать экземпляр MyObject, но выдает ошибку 91. Отладка привела меня к подпрограмме Class_Terminate в MyObject, где ошибка выдается в строке «end sub».