У меня есть этот код внутри класса Tramos
Option Explicit
Private m_Agente As Dictionary
Private m_Pronostico As Dictionary
Property Get Pronosticos(ByVal Key As String) As Pronosticos
With m_Pronostico
If Not .Exists(Key) Then .Add Key, New Pronosticos
End With
Set Pronosticos = m_Pronostico(Key)
End Property
Property Get Agentes(ByVal Key As Integer) As Agentes
With m_Agente
If Not .Exists(Key) Then .Add Key, New Agentes
End With
Set Agentes = m_Agente(Key)
End Property
Private Sub Class_Initialize()
Set m_Agente = New Dictionary
If Not Programaciones Then Set m_Pronostico = New Dictionary
End Sub
Private Sub Class_Terminate()
Set m_Agente = Nothing
If Not Programaciones Then Set m_Pronostico = Nothing
End Sub
Public Property Get Keys() As Variant
Keys = m_Agente.Keys
End Property
Public Property Get PronosKeys() As Variant
PronosKeys = m_Pronostico.Keys
End Property
У меня есть глобальная переменная Programaciones
, если ее True
, тогда класс не будет устанавливать m_Pronostico
, я сделал это потому, что у меня возникли проблемы с памятью при работе с большим количеством экземпляров этого класса. Проблема заключается в том, что, когда этот объект не установлен, это, скорее всего, вызовет ошибки при отладке. Object Required
Полагаю, из-за свойства PronosKeys
.
Есть ли способ установить объект внутри класса в зависимости от переменной, которая не будет вызывать ошибок, если у меня есть свойства, относящиеся к объекту, который я не устанавливал?