Объект не поддерживает это свойство или метод при установке свойства, являющегося пользовательским объектом - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть два пользовательских класса.Один является собственностью другого.Я пытаюсь установить значение свойства вне класса, внутри формы доступа.

Я в растерянности здесь.Я попытался удалить ключевое слово set, и в результате он выполнил Let, но указанное значение не было определено.Это также терпит неудачу, если я пытаюсь установить это в Ничто.(Я знаю, что собака на самом деле не является свойством животного, это просто для иллюстрации.)

'Animal class
Private dog As Dog    
Public Property Get oDog() As Dog
    Set oDog = dog
End Property '<<<Error happens here.

Public Property Let oDog(myDog As Dog)
    Set dog = value
End Property

'If I don't do this, I get an object variable or with block variable not set error.
Public Sub Class_Initialize()
    Set dog = New Dog
End Sub

'Dog class
'Dog properties and methods here.

'Form
Private oAnimal As Animal

Set oAnimal = New Animal
Set oAnimal.oDog = New Dog '<<< that fails

Моя конечная цель - установить свойство объекта пользовательского класса для нового объекта, носнаружи класса, из формы.Суть в том, что почему-то вызывается метод get вместо буквы, когда я вызываю Set.Я знаю, что делаю что-то не так, я просто не знаю, что это такое.Я уверен, что это очевидно.

1 Ответ

0 голосов
/ 27 декабря 2018

in Позволяет использовать «myDog», а затем установить значение «dog», попробуйте изменить его на:

     Public Property Let oDog(Value As Dog)
         Set dog = Value
     End Property
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...