У меня есть рекурсивная функция в VB6, и я хочу, чтобы функция была функцией друга, поэтому я не могу ее охватить повсюду, но она не работает. Он будет говорить только, что объект не существует, если я изменю функцию на публичную функцию, она будет работать. Зачем? Я неправильно понял, как работает функция друга или?Почему моя функция рекурсивного друга не работает в VB6?
код выглядит следующим образом:
Friend Function TestFunction() As Boolean
On Error GoTo ErrHandler
TestFunction= False
If Me.Works Then
TestFunction= True
End If
If TestFunction = False And Me.HaveChild = True Then
Dim objClass
For Each objClass In Me.colChild
If objClass.TestFunction = True Then 'I get the break here, due to missing object
TestFunction = True
Exit For
End If
Next
End If
Exit Function
ErrHandler:
Call LogError()
End Function
Если я просто изменить функцию на публике он будет работать, кто-то может объяснить, почему?
Что такое colChild? Набор объектов типа, в котором определена TestFunction? – djv
Да, это коллекция объекта класса. –