С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
63 / 48 / 12
Регистрация: 28.12.2014
Сообщений: 270
1

Пользовательский тип данных в качестве возвращаемого значения свойством

06.06.2015, 18:18. Показов 1235. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Подскажите в чем проблема. Есть процедура, которая должна возвращать пользовательский тип данных, но компилятор выдает ошибку с сообщением:
Compile error:

Only public user defined types in public object modules can be used as parametrs or return types for public procedures of class modules or as fields of public user defined types.

При этом текст процедуры, которая содержится в модуле класса:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Property Get Item(ByVal Index As Long) As StdModule.TypeOfCollection
    Select Case mlngPositionInCollection
        Case Is = 0
            VBA.Information.Err.Raise conErrCollectionIsEmpty, "clsCollection", _
                "Êîëëåêöèÿ íå ñîäåðæèò ýëåìåíòîâ."
        Case Is < Index - 1
            VBA.Information.Err.Raise conErrIndexDoesntExist, "clsCollection", _
                "Èíäåêñ âíå äèàïîçîíà."
    End Select
    If Index <= 0 Then VBA.Information.Err.Raise conErrIndexDoesntExist, "clsCollection", _
        "Èíäåêñ âíå äèàïîçîíà."
    Item.TextBoxName = mudtArrayOfData(Index - 1).TextBoxName
    Item.TextColor = mudtArrayOfData(Index - 1).TextColor
End Property
А непосредственно возвращаемый пользовательский тип данных объявлен в стандартном модуле:
Visual Basic
1
2
3
4
Public Type TypeOfCollection
    TextBoxName As VB.TextBox
    TextColor As Long
End Type
Можно, конечно, передавать не инициализированный udt в качестве аргумента, чтобы процедура его модифицировала, но как-то не изящно.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.06.2015, 18:18
Ответы с готовыми решениями:

Модификатор const в качестве возвращаемого значения
const int get_size(const int&amp; a) { return a; } int main() { const int size =...

непонятки с QVector в качестве возвращаемого значения
Приветствую! Есть класс базы данных, у которой необходимо реализовать метод возвращающий QVector...

Использование типа void в качестве возвращаемого значения функцией main
Здравствуйте. Надеюсь получить внятный ответ на то, почему все категорически рекомендуют...

Тип возвращаемого значения
Каким образом выбрать данные из DataTable, чтобы выборка представляла строку данных...явное...

2
Модератор
9982 / 3828 / 879
Регистрация: 22.02.2013
Сообщений: 5,712
Записей в блоге: 78
06.06.2015, 21:07 2
Лучший ответ Сообщение было отмечено IDK как решение

Решение

Visual Basic
1
Friend Property Get Item(ByVal Index As Long) As StdModule.TypeOfCollection
1
63 / 48 / 12
Регистрация: 28.12.2014
Сообщений: 270
07.06.2015, 05:49  [ТС] 3
Friend - странно, но в любом случае заработало. Спасибо.
0
07.06.2015, 05:49
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.06.2015, 05:49
Помогаю со студенческими работами здесь

Тип возвращаемого значения
Здравствуйте! Подскажите, пожалуйста, почему при нахождении арифметического выражения, функция...

Тип возвращаемого значения
Доброе время суток! Возникла необходимость написать программу на С++. Но я в языке ,если честно,не...

Тип возвращаемого значения
Здравствуйте, вопрос может тупой, но почему в данном конкретном случае функция convert всегда...

Тип возвращаемого значения
public class Solution { public static void main(String args) throws Exception { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на Go/Golang
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C#
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru