Блин, что-о я property и function идентифицировал, на самом деле мне нужно с property/ sorry за неправильную постановку вопроса. Просто то, что идет для саб и function не идет для определения свойств:
Property Let Selected(currentOptionButton() As Object)
Выдается ошибка компиляции ..ю Там много всего на английском написано,
Definitions of Property procedures for the same Property are inconsistent, or Property procedure has an optional parameter, a ParamArray, or an invalid Set final parameter
если твое свойство - массив, кажется в этом проблема? На всякий случай
Напоминаю синтаксис описания свойств объекта (кратко)
Property Let Cool(a as arg,b as arg,c as arg,[B]d[/B] [U]as Integer[/U]
Property Get Cool(a as arg,b as arg,c as arg) [U]as Integer[/U]
Object.Cool(a,b,c)=[B]d[/B]
intVar=Object.Cool(a,b,c)
Идея ясна? То, что мы присваем проперти должно быть описано аргументом в процедуре Property Let. В процедуре Get этого аргумента d не должно быть, зато само свойство объявляется как тип этого d аргумента.
Поправка: (тег CODE отменил другие теги )
Property Let Cool(a as arg,b as arg,c as arg,das Integer)
Property Get Cool(a as arg,b as arg,c as arg) as Integer
Object.Cool(a,b,c)=d
intVar=Object.Cool(a,b,c)
Type MissMatch: array or user-defined type expected
Private Sub Command1_Click()
Actions.Selected = Action(0)
End Sub
Public Property Get Selected() As OptionButton()
End Property
Property Let Selected(currentOptionButton() As OptionButton)
'ReDim currentOptionButton(4)
Set ActionButton = currentOptionButton(0)
frmMain.Caption = currentOptionButton(0).Index
End Property
', ByVal Index As Integer
Type MissMatch: array or user-defined type expected
Несоответствие типов: ожидается массив или пользовательский тип
Actions.Selected = Action(0)
Ты передал элемент массива Actions под номером 0, а не весь массив, вот и ругает ВБ тебя за то, что он ожидает массив значений, а ты ему 1 значение. ИМХО, проблема в этом.