T
turumbay
при использовании New справа от присваивания:
Код нормално компилируется, новый объект создается и передается в тело Property. Упс приходит неожиданно: слетают значения параметров проперти. При этом иногда ложится клиент. В данном примере теряется \"Сквайр Трелони\". Если объект предварительно создать - присвоение отрабатывает корректно.
Проверено в 7.01, 7.03, 8.5
Вот такие вот грабли...
Код:
Set treasureIsland.person( \"Сквайр Трелони\" ) = New TPersonInfo( \"Туп, жаден, прожорлив, ленив, труслив, надменен. Богат. Характер отсутствует. Не женат.\")
Проверено в 7.01, 7.03, 8.5
Код:
Private Class TPersonInfo
Private t_info As String
Sub New( i_info As String )
t_info = i_info
End Sub
End Class
Private Class TBook
Private t_person List As TPersonInfo
Sub New()
End Sub
Public Property Set person( i_name As String ) As TPersonInfo
Set t_person( i_name ) = person
End Property
End Class
Sub Initialize
Dim treasureIsland As New TBook
Dim billy As New TPersonInfo( \"Обладатель карты Острова Сокровищ. Много пьёт и всегда простужен. Характер скверный. Не женат.\" )
Set treasureIsland.person( \"Билли Бонс\" ) = billy
\' следующая строка работает некорректно:
Set treasureIsland.person( \"Доктор Ливси\" ) = New TPersonInfo( \"Очень хороший и весёлый человек. Характер общительный. Не женат.\")
End Sub