Как передать массив как параметр функции

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Как передать массив как параметр функции

Сообщение Bonesnapper » 09.05.2005 (Пн) 23:01

На верное глупый вопрос но ни нашел ответ ни в поиске ни в яндексе ни в гугле

У меня есть массив переменных пользовательского типа
как его передать функции

простой массив передается но с созданным мной типом нет
пишет что можно передовать только публичные типы
но я и создал тип в модуле с PUBLIC

заранее спасибо

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.05.2005 (Вт) 3:38

А функция должна быть friend, если она классовая.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Как передать массив как параметр функции

Сообщение tyomitch » 10.05.2005 (Вт) 9:26

Bonesnapper писал(а):пишет что можно передовать только публичные типы
но я и создал тип в модуле с PUBLIC

А текст ошибки до конца прочитать не дано?
Microsoft Visual Basic
Compile error:

Only public user defined types defined in public object modules can be used as parameters or return types for public procedures of class modules or as fields of public user defined types
Изображение

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 10.05.2005 (Вт) 10:07

GSerg
Огромное спасибо как раз то что мне нужно

tyomitch
так я тип в модуле и описал

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 10.05.2005 (Вт) 10:47

Нужно объявить тип как Public и находится он должен в модуле или классе Public. тогда все будет работать
Весь мир матрица, а мы в нем потоки байтов!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.05.2005 (Вт) 11:26

В модуле не канает, только в публичном классе.
Изображение

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 10.05.2005 (Вт) 13:38

А как мне сделать модуль или клас PUBLIC :oops: :oops:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.05.2005 (Вт) 13:58

В списке свойств класса найди "Instancing" и измени на что угодно, кроме "1 - Private"
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.05.2005 (Вт) 15:16

Щас будет вопрос по поводу отсутствия такого свойства :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 10.05.2005 (Вт) 15:18

Не, другой - что оно после установки все равно сбрасывается обратно в Private :).


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 61

    TopList