|
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
|
||||||||||||||||
Дочерние формы (не MDI) и STL::List22.08.2016, 23:53. Показов 4061. Ответов 63
Хай всем, нашёл тему по форуму, близкую к моей задаче:
Динамическое создание и удаление компонентов., но возник вопрос, корректно ли использование того кода для компонентов формы
Unit1.cpp
0
|
||||||||||||||||
| 22.08.2016, 23:53 | |
|
Ответы с готовыми решениями:
63
Работа с MDI и Дочерние формы MDI вместо закрытия главной формы закрываются дочерние Как сделать что бы дочерние формы в MDI application delphi сразу не открывались при запуске программы |
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|
| 24.08.2016, 12:13 | |
|
Fulcrum_013, он не будет обрабатывать удаление формы - мы просто через remove уберём из списка указатель, за удаление формы после закрытия отвечает она сама, вы читаете посты?
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 24.08.2016, 12:27 | ||
|
TList кстати непригоден по той же причине.
Добавлено через 2 минуты Добавлено через 9 минут Если уж хочется отдельный список делать то делайте TObjectList или TComponentList которые отслеживают внешнее удаление содержимого.
0
|
||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|
| 24.08.2016, 12:29 | |
|
Fulcrum_013, к сожалению я не могу сказать прямым текстом что за чувства вы будите во мне) глядите. У нас создаются формы. После закрытия они сами удаляются. Владелец нам в такой схеме не нужен. По какой-то причине нам нужен список тех форм что мы наплодили (зачем - хз, придумайте что нибудь, например для кнопки закрыть все порождённые окна). Что бы этот список был актуален мы при создании формы помещаем в него указатель, а при закрытии формы она удаляет указатель на саму себя из списка. Для этой цели подойдёт любой список. Более того, если охото можно все-таки назначать владельца и перебирать хранимый им список дочек. Что тут на ваш взгляд не так?
1
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 24.08.2016, 12:37 | ||
|
0
|
||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|
| 24.08.2016, 12:38 | |
|
Fulcrum_013, покажите код
0
|
|
|
Супер-модератор
|
|
| 24.08.2016, 12:41 | |
|
Какой код? Описание смотрим: TComponentList
0
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
||
| 24.08.2016, 13:20 | ||
|
Добавлено через 2 минуты сами я имею ввиду волшебным образом - просто потому что список дружественным образом как то под капотом зарегистрировался на них. то есть удалят без нашего участия.
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||
| 24.08.2016, 13:39 | ||||||||
|
примерно вот так
0
|
||||||||
|
Супер-модератор
|
|||||||
| 24.08.2016, 13:40 | |||||||
0
|
|||||||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|||||||||||
| 24.08.2016, 14:09 | |||||||||||
|
Fulcrum_013, volvo, да, TComponentList действительно смотрится органичнее в этом смысле, согласен. не умоляя красоты вашего решения скажу лишь что ходили мы вокруг да около ровно одной строки
?"
0
|
|||||||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 24.08.2016, 14:21 | |
|
0
|
|
| 24.08.2016, 14:24 | |
|
Не по теме: Fulcrum_013, вы хотели сказать и еще одной двух строчек при закрыть все... и из-за этих двух строчек торгуется человек который непонятно зачем написал аналог того же самого TComponentList)
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 24.08.2016, 14:43 | ||
|
Не по теме:
Добавлено через 8 минут Не по теме: Ну и написан он потому как программируя в другой среде эти одну-две (десятка при некоторых делах) строчки писать по сто раз запарился программируя не под VCL
0
|
||
|
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
|
|
| 24.08.2016, 19:03 | |
|
0
|
|
|
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
|
||||||||||||
| 24.08.2016, 20:28 [ТС] | ||||||||||||
|
//-------------------------------------------
//------------------------------------------- //------------------------------------------- За советы - всем гуру плюсов спс!
0
|
||||||||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 24.08.2016, 21:15 | ||||
|
Добавлено через 1 минуту Добавлено через 2 минуты
0
|
||||
|
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
|
||
| 24.08.2016, 21:44 | ||
.
0
|
||
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
|
| 25.08.2016, 08:14 | |
|
0
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|
| 25.08.2016, 08:20 | |
|
d7d1cd, статика вообще не убирается, какой ещё уборщик? Статика это просто данные - инициализируются при запуске и умирают с программой
0
|
|
|
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
|
|||||||||
| 25.08.2016, 21:21 [ТС] | |||||||||
Возник вопрос по TComponentList, подскажите пож., при удалении элемента с Листа получается он автоматически сдвигает элементы и автоматически уменьшает Count? И т.е. если мне нужно будет проделать какие-то пользовательские действия с указателем на дочернее окно - их надо делать до его уничтожения? Добавлено через 7 минут Не по теме:
0
|
|||||||||
| 25.08.2016, 21:21 | |
|
mdi - дочерние окна перетирают друг друга
Работа с STL list + пропись List.h
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|