|
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
|
|||||||||||
Формы в проекте03.03.2024, 02:12. Показов 2297. Ответов 13
Метки нет (Все метки)
Не первый мой проект, но проблемы такой не было.
В проекте 4 формы: первая, но не главная, из которой можно открыть 3 остальных. С двумя все нормально, но с третьей проблема, и не в самой форме, она открывается, а в переменной, значение который нужно передать из первой формы. На первой форме:
В чем дело?
0
|
|||||||||||
| 03.03.2024, 02:12 | |
|
Ответы с готовыми решениями:
13
Две формы в одном проекте |
|
122 / 120 / 41
Регистрация: 27.01.2013
Сообщений: 546
|
|
| 03.03.2024, 10:57 | |
Сообщение было отмечено Belju как решение
Решение
Все правильно, в конструкторе она всегда будет -1.
Проверяй в OnShow().
1
|
|
|
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
|
|
| 03.03.2024, 15:13 [ТС] | |
|
NT SERVICE, и как это выглядит? я не в курсе
Добавлено через 13 минут NT SERVICE, уже понял, спасибо за совет... но есть другой вопрос: как сделать что бы первая форма закрылась при открытии новой формы? просто Close() закрывается и новая форма
0
|
|
|
122 / 120 / 41
Регистрация: 27.01.2013
Сообщений: 546
|
||||||
| 03.03.2024, 15:53 | ||||||
|
Не совсем понимаю что нужно, может так?
0
|
||||||
|
Модератор
|
|||||||||||
| 03.03.2024, 17:33 | |||||||||||
|
Просматривается несколько вариантов...
Вариант 1, возможный, но, ИМХО, в корне неправильный: а) Объявить переменную table в разделе public класса формы TTable_Form б) Обращаться в методах формы TGame_Form как к полю класса формы TTable_Form
а) Объявить переменную table в разделе public класса формы TGame_Form б) Присваивать значение этой переменной перед вызовом этой формы
0
|
|||||||||||
|
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
|
|
| 05.03.2024, 15:48 [ТС] | |
|
NT SERVICE, ничего не изменилось, по прежнему первая форма остается, но если просто в OnShow прописать Form1->Hide(); то оно скрывается... впрочем не знаю можно ли так делать
D1973, нужно ли менять если работает как задумывалось через OnShow()? эта переменная используется лишь 1 раз при запуске программы
0
|
|
|
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
|
||||||
| 05.03.2024, 20:55 [ТС] | ||||||
|
Проявилась проблема. Вторая форма открывается из первой, и во второй форме в функции OnShow() Form1->Hide(); первая форма скрывается. При закрытии второй формы, это выход из программы, закрываются 2 формы
Как исправить?
0
|
||||||
|
Модератор
|
|||
| 06.03.2024, 05:44 | |||
|
Но
0
|
|||
|
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
|
|
| 06.03.2024, 13:24 [ТС] | |
|
D1973, в предыдущей версии проекта у меня было одно окно, вернее было два проекта по одному окну в каждом. Для удобства решил объединить их в один проект, тоже с одним окном, для этого потребовалось предварительное окно для выбора какой вариант окна открывать. И по вашей же подсказке оно было создано и все работало.
== Belju, Что Вы мутите, заставку? Или окно регистрации? Сюда смотрите.== Неудобство было в том что на одном окне куча элементов, которые в буилдере перекрывают друг друга, а в приложении, в разных вариантах открытия, ненужные элементы просто скрывались. Мне показался некрасивым такой вариант, и решил создать новую версию проекта с разными окнами, что в общем то и получилось, если не считать что не всегда приложение полностью закрывается, зато все выглядит красиво и удобно.
0
|
|
| 06.03.2024, 13:33 | |
|
Не по теме: Я, может и старомоден, но при оконном программировании считал (и считаю), что должно быть основное окно программы, откуда вызываются диалоги настроек или вспомогательные окна для каких-либо разовых действий (форма регистрации, сплэш-окно, окно прогресса и т.п.). Но плодить кучу окон с запутанными связями и передачей данных между собой - моветон.
0
|
|
|
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
|
|
| 06.03.2024, 13:51 [ТС] | |
|
И еще в предыдущем варианте я не смог добавить в первоначальное окно переход в окно инициализации, настроек, файла ini, в новом же варианте без проблем
Добавлено через 15 минут TrollHammer, никакой запутанности нет. Из первоначального окна открывается: 1-окно настроек, открыл-закрыл 2-окно Grid DB, открыл-закрыл в этих случаях первоначальное окно закрывать не обязательно 3-основное окно, открыл-закрыл-вышел из приложения здесь первоначальное окно желательно скрыть или свернуть
0
|
|
|
|
|
| 06.03.2024, 14:01 | |
|
0
|
|
|
3 / 3 / 0
Регистрация: 03.10.2018
Сообщений: 249
|
|
| 06.03.2024, 15:47 [ТС] | |
|
TrollHammer, не совсем так, пользователь не выбирается, он один, настройки задаются при первом запуске
и изменяются в редких случаях, передаются в основное окно окно Grid DB тоже не всегда открывается, служит для проверки, свои настройки из настроек для окна 2 и 3 только общий путь к БД Добавлено через 1 час 30 минут уточню: - ....настройки задаются при первом запуске или считываются из готового файла ini - ....служит для проверки или обновления БД при изменении структуры БД, что иногда делаю
0
|
|
| 06.03.2024, 15:47 | |
|
Помогаю со студенческими работами здесь
14
Поиски пропавшей формы в проекте Фильтрация формы в проекте .adp
Как перебрать все формы в проекте? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|