Установить экземпляр объекта в зависимости от переменной внутри класса - PullRequest
0 голосов
/ 17 июня 2020

У меня есть этот код внутри класса 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.

Есть ли способ установить объект внутри класса в зависимости от переменной, которая не будет вызывать ошибок, если у меня есть свойства, относящиеся к объекту, который я не устанавливал?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...