|
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
|
||||||||||||||||
Дочерние формы (не MDI) и STL::List22.08.2016, 23:53. Показов 3763. Ответов 63
Хай всем, нашёл тему по форуму, близкую к моей задаче:
Динамическое создание и удаление компонентов., но возник вопрос, корректно ли использование того кода для компонентов формы
Unit1.cpp
0
|
||||||||||||||||
| 22.08.2016, 23:53 | |
|
Ответы с готовыми решениями:
63
Работа с MDI и Дочерние формы MDI вместо закрытия главной формы закрываются дочерние Как сделать что бы дочерние формы в MDI application delphi сразу не открывались при запуске программы |
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 25.08.2016, 21:35 | |||
|
Добавлено через 3 минуты
0
|
|||
|
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
|
||
| 25.08.2016, 21:59 [ТС] | ||
|
я не правильно выразился, уничтожаем мы одно из дочерних окон, но при этом я вижу в дебаге что после отработки OnClose, форма получив Action = caFree убивается, и сразу же уменьшается Count у TComponentList.
В STL::List же в OnClose делал принудительно delete frm_2; frm_2 = NULL; Почему так?
0
|
||
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 25.08.2016, 22:11 | ||
|
0
|
||
|
|
||
| 28.08.2016, 13:22 | ||
|
Почему не использовать TObjectList или TComponentList а использовать STL по тому что это дело ситуации в большинстве случаев STL удобнее.
0
|
||
|
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
|
||
| 28.08.2016, 15:09 | ||
|
0
|
||
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||
| 28.08.2016, 19:27 | |||||
|
Добавлено через 39 секунд Добавлено через 1 час 48 минут
0
|
|||||
| 29.08.2016, 09:31 | |
|
0
|
|
| 29.08.2016, 09:36 | |
|
Не по теме: volvo =-O
0
|
|
|
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
|
|||
| 29.08.2016, 10:41 | |||
|
Добавлено через 16 минут
0
|
|||
|
Супер-модератор
|
||
| 29.08.2016, 10:42 | ||
|
0
|
||
|
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
|
||
| 29.08.2016, 10:54 | ||
. Результат то выдавался один, для одинаковых тестов. Там, не один я смеялся.
0
|
||
|
Модератор
3407 / 2178 / 354
Регистрация: 13.01.2012
Сообщений: 8,448
|
|
| 29.08.2016, 11:01 | |
|
volvo, если я пишу консоль/библиотечную функцию и мне нужно организовать список, то наверное я буду использовать STL (и мне кажется что и вы тоже будете) потому что это переносимое решение не только в другие ОС но и в другие среды причем при нулевых или даже положительных "побочных" эффектах со стороны инструментария
0
|
|
|
|
|||||
| 29.08.2016, 11:50 | |||||
![]() Добавлено через 2 минуты Одно дело пилить все с нуля под каждую ос, другое устранить огрехи.
0
|
|||||
|
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
|
||||||||||||
| 29.08.2016, 17:13 [ТС] | ||||||||||||
|
И последующие комменты Avazart про целесообразность STL весьма разумные, ведь тот же multimap весьма удобен для работы с массивом пар элементов с повторением, а vector приятная замена обычных дин. масс без жёсткого слежения за утечками памяти. ------------------ Конечная задумка программы - это использовать формы-дочки для GUI-визуализации создания таблиц базы данных. Есть программный продукт ER-Win, и в его физ. или логич. моделях графически можно создавать ER-диаграммы "сущность-связь" со всеми ключами и инф. полями. Мне интересно сделать аналогичную функциональность, программно создав файл б.д. (сделано), создать сущности - объекты класса, они же дочерние формы, каждая из которых будет представлять отдельную таблицу б.д. (сделано), наполнить эти формы нужными компонентами TEdit, TButton, TLabel и прочие что понадобятся (это в процессе). Далее после создания и заполнения компонентов именами и типами будущей таблицы сделать SQL->Text на CREATE TABLE. Почему дочерние формы для этой графич. цели? - потому что полностью всё в openGL я не потяну, да и наверно нет смысла, т.к. ф-циональность формы полностью покрывает потребности) ------------------ В догонку, вопрос по теме: я так и не понял (допустим на дочерних формах сейчас только 1 динамич. Edit), как узнавать то, что я написал какой-то текст в Edit 1-й дочерней формы, а не 3-й? Мне нужно - проходиться в цикле и сравнивать *Sender формы с чем-то и потом узнав что работаю с формой 3 получать данные с Edit именно 3-й формы; - или отлавливать активность формы, - или перефразировать структуру класса, создавая объект TComponentList, в котором будут поля-указатели на саму форму-дочку и TComponentList,ы Edit и других компонентов? - или что? Просто пока с этим у меня полная каша... Потому что я хочу правильно связать визуализацию с ООП, чтобы я мог манипулировать дочерними окнами как объектами класса. На данный момент с подачи volvo, Fulcrum_013 и своих изысканий по гуглу, код выглядит так: Unit1.h
0
|
||||||||||||
|
|
||
| 29.08.2016, 17:36 | ||
|
Может не стоит плодить отдельные формы? Использовать TPageControl + TFrame т.е все внутри основного окна, но со сменой фреймов.
Добавлено через 1 минуту Кстати в деструкторе тоже не плохо удалять их. Добавлено через 4 минуты Подмена WndProc тоже не не ясна. Добавлено через 3 минуты Если же хотите делать именно формами то может стоит почитать про MDI приложения.
0
|
||
|
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
|
|||||||||||
| 29.08.2016, 18:14 [ТС] | |||||||||||
"Поскольку много подчиненных форм имеют одинаковое имя и одинаковый код, то не следует в коде программы (если код используется несколькими экземплярами формы) использовать имя формы. В модуле формы для ссылок на текущую форму используйте ключевое слово Me." (http://www.codenet.ru/progr/vbasic/bit/MDI.php (с))
0
|
|||||||||||
|
|
|||
| 29.08.2016, 18:16 | |||
|
Если вы не знаете что такое конструктор, список инициализации, деструктор. Советую начать с азов С++, а не формошлепства в билдере.
0
|
|||
|
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
|
||||||||
| 29.08.2016, 18:29 [ТС] | ||||||||
http://ymah.narod.ru/sem8/image022.jpg
0
|
||||||||
|
|
|||
| 29.08.2016, 18:49 | |||
|
Как по мне вероятно стоило бы не формы использовать, а отрисовывать в TPaintBox руками свои собственные объекты. Не по теме: Вот где бы пригодился Qt-шний QGraphicsScene+QGraphicsView, опять же со сглаживанием линий итп...
0
|
|||
| 29.08.2016, 18:49 | |
|
Помогаю со студенческими работами здесь
60
mdi - дочерние окна перетирают друг друга
Работа с STL list + пропись List.h
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|