powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Тип данных при передаче массива контролов как параметра
5 сообщений из 5, страница 1 из 1
Тип данных при передаче массива контролов как параметра
    #32848576
golb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Такой вопрос меня мучит.
Передаю в процедуру как параметр один стандартный контрол (например PictureBox). Никаких проблем:

Private Sub mySub (xPic as PictureBox)
xPic.BackColor=xxxx
End Sub

Но вот если мне надо передать массив из этих PictureBox:

Private Sub mySub (xPics)
Dim xPic as PictureBox
For Each xPic in xPics
xPic.BackColor=xxxx
Next xPic
End Sub

В принципе жрёт и так, без явных данных по типу. Но как-то это некрасиво.
Каким типом нужно объявлять этот xPics из второго примера? Чтоб не торчал там параметр без типа данных.

Аналогично, если мне нужно передать как параметр меню. VB жрёт это без типа данных, но как-то же он это в своих недрах определяет. Какой тип данных нужно задавать в этом случае?
Спасибо за помощь... и с наступающим!
...
Рейтинг: 0 / 0
Тип данных при передаче массива контролов как параметра
    #32848931
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ты эти PictureBox кинь в коллекцию или словарь
...
Рейтинг: 0 / 0
Тип данных при передаче массива контролов как параметра
    #32849705
golb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да спору ж нет, в коллекцию явно их собрать можно. Но если дать тип параметра as Collection - матерится. Как - то же он это всё неявно деларирует... ну компилятор должен же знать, что за тип данных перед ним. Вот интересно узнать: как что он их декларирует.
Просто чтоб работало можно вообще тип данных не определять.
...
Рейтинг: 0 / 0
Тип данных при передаче массива контролов как параметра
    #32849739
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
golbДа спору ж нет, в коллекцию явно их собрать можно. Но если дать тип параметра as Collection - матерится. Как - то же он это всё неявно деларирует... ну компилятор должен же знать, что за тип данных перед ним. Он не знает. Массив контролов передается именно что как массив. Т.е. as Object (или as Variant) П.э. и работает "без явных данных по типу". Но это тем не менее не простой массив, в него нельзя положить элемент другого типа, чем те, которые в нем уже есть. By Design

То, что это плохо - согласен
...
Рейтинг: 0 / 0
Тип данных при передаче массива контролов как параметра
    #32850039
golb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ответы. С Новым годом наступающим!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Тип данных при передаче массива контролов как параметра
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]