Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Может ли модуль класса выдать переменную пользовательского типа?

8.1K
19 июля 2006 года
patq
27 / / 21.07.2005
Программа написана на Visual Basic 6.0
Во время написания программы возникла потребность из процедуры получать переменные пользовательского типа из модулей классса. Дойдя до этого места VB отказался выполнять команды программы.
Мои попытки оказались безуспешны. Подскажите, пожалуйста, можно ли это сделать? И если можно, то как?


С уважением.
282
20 июля 2006 года
Bard
481 / / 26.02.2006
Извини, а что такое "переменные пользовательского типа" ?
648
21 июля 2006 года
Tiraspolsky
220 / / 23.07.2003
Что значит "отказался выполнять команды программы"?
Вообще то VB генерит ошибку, у которой есть код и description. Или же прога зависает на каком-то операторе.
8.1K
22 июля 2006 года
patq
27 / / 21.07.2005
[QUOTE=Bard]Извини, а что такое "переменные пользовательского типа" ?[/QUOTE]
'В качестве ответа - пример (частично взят из программы)
'Тип, созданный пользователем
Public Type DataOne 'один источник данных
NameData As String 'наименование источника данных
NameIsp As String 'наименования для внутреннего использования
RS As Integer 'Регистр состояния
FistIstDan As Integer '0/N - вызов первичный/втричный
IdnIst As Integer 'идентификатор источника
End Type

dim Demo as DataOne 'переменная пользовательского типа
8.1K
22 июля 2006 года
patq
27 / / 21.07.2005
[QUOTE=Tiraspolsky]Что значит "отказался выполнять команды программы"?
Вообще то VB генерит ошибку, у которой есть код и description. Или же прога зависает на каком-то операторе.[/QUOTE]
При попытке выполнить команду извлечения переменной из модуля классса, VB сообщил, "из модуля класса передаются переменные, имеюшие стандартный тип. Для передачи данных, имеющих тип, созданных пользователем, необходимо описать их в ...". И далее как вопрос можно решить.

Путь покался сложным, поступил проще: убрал модули класса - и получил доступ к переменной.

С уважением ко всем ответившим и заглянувшим сюда
17K
27 июля 2006 года
Lord207
8 / / 15.07.2006
[QUOTE=patq] Путь покался сложным, поступил проще: убрал модули класса - и получил доступ к переменной.[/QUOTE]

VB не умеет возвращать из классов описание пользовательского типа, посему и переменную не может вернуть. о чем, собственно, в мессаге и говорит.
НО! он может возвращать экземпляры ЛЮБЫХ классов. т.о. тип DataOne превращаем в класс СDataOne, а переменную объявляем как Public Demo as New CDataOne
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог