|
1 / 1 / 0
Регистрация: 08.02.2014
Сообщений: 30
|
|
Передать значение из дочерней формы в родительскую04.09.2014, 09:19. Показов 4777. Ответов 9
Метки нет (Все метки)
Здравствуйте.
Пишу программу по расчету, столкнулся с такой проблемой: Создаю две формы: Form1 и Form2. В Form2 создаю textbox, label, button; в обработчике событий кнопки пишу код: присвоить числовое значение textbox->label. (действие присваивания происходит без ошибок). В Form1 создаю label и button; в обработчике событий прописываю присвоение значения textbox с Form2.(показывает 0). Практически везде и в книгах и в форумах пишут что нужно создавать данные с глобальной видимостью "extern", но так и не смог понять в какой части проекта нужно прописать. Я пытался внести "extern int a" в форму Form1, а на второй просто писал int a. Если кто то может подсказать как правильно выполнить такую программку или написать код, буду благодарен!!! Работа в одной форме проблем не создает.
1
|
|
| 04.09.2014, 09:19 | |
|
Ответы с готовыми решениями:
9
Передача данных из дочерней формы в родительскую Передача данных из дочерней формы в родительскую
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|||||||||||
| 04.09.2014, 09:52 | |||||||||||
|
Form1:
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 08.02.2014
Сообщений: 30
|
|||||||||||
| 04.09.2014, 11:10 [ТС] | |||||||||||
0
|
|||||||||||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 04.09.2014, 11:25 | |
|
Смысл в том, что b - это у вас одна и та же переменная. Механизм extern так работает. Вы не передаете ее значение из формы в форму. Это одна переменная. Следовательно подобную "передачу" значения через нее можно организовать только с проверкой на ее заполненность в первой форме.
Зануляйте, к примеру, ее при старте приложения, а во-второй форме перед использованием проверяйте на равенство нулю - если не равна - используйте. Но лучше в первой форме заведите переменную-член класса формы (в описании формы добавьте в public), а во второй форме уже ссылайтесь на нее через первую форму: c = Form1->b.
1
|
|
|
1 / 1 / 0
Регистрация: 08.02.2014
Сообщений: 30
|
|
| 04.09.2014, 11:41 [ТС] | |
|
А вы можете код расписать, боюсь я не смогу выше сказанное в коде написать.
Добавлено через 4 минуты Кроме книг под рукой ничего нет и там расписаны однотипные примеры, а знаний практически нет, все что прочитал без пары разнообразных примеров плохо усваиваются, поэтому прошу расписанный код, потом только в него вникаю и пытаюсь в разные примеры внедрить. Иногда даже спросить не у кого что да ка.
0
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|||||||||||
| 04.09.2014, 11:55 | |||||||||||
|
Как-то вот так:
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 08.02.2014
Сообщений: 30
|
||||||
| 04.09.2014, 17:20 [ТС] | ||||||
error C2071: ext::Form1::b: недопустимый класс хранения Добавлено через 2 минуты как только ставлю за #pragma endregion "extern" выходит эта ошибка, если ставить extern в обработчике событий то видимость становится локальной
0
|
||||||
|
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
||
| 05.09.2014, 10:01 | ||
|
1
|
||
|
1 / 1 / 0
Регистрация: 08.02.2014
Сообщений: 30
|
|
| 05.09.2014, 11:44 [ТС] | |
|
да да да, есть такое, просмотрел. НО даже если убрать int b из обработчика событий кнопки, то на extern int b все равно ругается и не компелируется и выходит это сообщение. Я пытаюсь программировать в visual studio 2010.
0
|
|
|
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
||
| 05.09.2014, 11:50 | ||
|
1
|
||
| 05.09.2014, 11:50 | |
|
Помогаю со студенческими работами здесь
10
Сохранение неизвестного количества label из дочерней формы через родительскую Взаимодействие двух форм (возврат значения из дочерней формы в родительскую) Как передать значение переменной дочерней формы в основную Как с пом@щью дочерней формы открыть форму у родительскую форму?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|