Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: передача массива в функции(вб6) Добавлено: 25.09.06 15:13  

Автор вопроса:  -АлександР- | Web-сайт: sham.clan.su
Как-нибудь можно передать в функции массив?
Или в свойстве, типа:
function h(f() as object), ну короче чтоб работало

Ответить

  Ответы Всего ответов: 34  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 25.09.06 15:49
в любом букваре про басик...

Private Sub Form_Load()
Dim count As Long: count = 10

Dim obj() As Object
ReDim obj(count)

Call func(obj)

End Sub

Private Sub func(a() As Object)
    MsgBox UBound(a)
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #2
Добавлено: 25.09.06 16:18
Блин, что-о я property и function идентифицировал, на самом деле мне нужно с property/ sorry за неправильную постановку вопроса. Просто то, что идет для саб и function не идет для определения свойств:
Property Let Selected(currentOptionButton() As Object)
Выдается ошибка компиляции ..ю Там много всего на английском написано,

Ответить

Номер ответа: 3
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #3 Добавлено: 25.09.06 17:41
И чего там написано?

Ответить

Номер ответа: 4
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #4
Добавлено: 25.09.06 17:57
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

Ответить

Номер ответа: 5
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #5 Добавлено: 25.09.06 20:50
Может не Let, а Set?

А вообще покажи весь код процедуры...

Ответить

Номер ответа: 6
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #6
Добавлено: 25.09.06 21:50
Property Let Selected(currentOptionButton() As Object)
    Set ActionButton = currentOptionButton
    frmMain.Caption = currentOptionButton.Index
End Property
Это было в модуле класса
А где-то в форме:
Private Sub Command1_Click()
    Actions.Selected = Action(0)
End Sub

Ответить

Номер ответа: 7
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #7 Добавлено: 25.09.06 22:03
Property Let Selected(currentOptionButton() As Object)

А теперь ещё Property Get покажи...

Ответить

Номер ответа: 8
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #8
Добавлено: 25.09.06 22:44
Public Property Get Selected() As Object
    
End Property

Ответить

Номер ответа: 9
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #9 Добавлено: 26.09.06 10:17
Дык процедуры Let и Get несоотвтетсвуют друг другу, что тебе VB и пытается сказать

Ответить

Номер ответа: 10
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #10
Добавлено: 26.09.06 14:46
Public Property Get Selected()() As Object
?????????

Ответить

Номер ответа: 11
Автор ответа:
 Nj



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #11 Добавлено: 26.09.06 22:40
Selected()()
шутишь что ли?
Public Property Get Selected() As Object()
если твое свойство - массив, кажется в этом проблема? На всякий случай
Напоминаю синтаксис описания свойств объекта (кратко)
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 аргумента.

Ответить

Номер ответа: 12
Автор ответа:
 Nj



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #12 Добавлено: 26.09.06 22:42
Поправка: (тег CODE отменил другие теги :) )
Property Let Cool(a as arg,b as arg,c as arg,d as 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)

Ответить

Номер ответа: 13
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #13
Добавлено: 26.09.06 22:50
Ага, понял.
Спасибо, Nj

Ответить

Номер ответа: 14
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #14
Добавлено: 27.09.06 17:13
Теперь новая ошибка:
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
???

Ответить

Номер ответа: 15
Автор ответа:
 Nj



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #15 Добавлено: 27.09.06 22:14
Type MissMatch: array or user-defined type expected
Несоответствие типов: ожидается массив или пользовательский тип
Actions.Selected = Action(0)
Ты передал элемент массива Actions под номером 0, а не весь массив, вот и ругает ВБ тебя за то, что он ожидает массив значений, а ты ему 1 значение. ИМХО, проблема в этом.

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам