Здравствуйте, Kostinus, Вы писали:
K>Но почему работает — не понятно совершенно. K>Объясните пожалуйста, я видимо чего-то не понимаю.
1) Dim dllobj As mydll.Class1
2) Dim dllobj As New mydll.Class1
Это объявления одинаковых переменных в модуле, при загрузке модуля эти переменные получат одинаковые значение Nothing, т.к. это объекты. Однако далее они отличаются. При любом обращении к переменной по объявлению 2) VB проверяет его значение и, если оно равно Nothing, производит создание объекта так, как будто в этом месте проверки стоит оператор Set dllobj = New mydll.Class1. При обращении к переменной по объявлению 1) такого не производится.