|
|
|
Фрейм во фрейме
|
|||
|---|---|---|---|
|
#18+
Все привет! Не первый год уже как использую фреймы (Delphi 7), все всегда было ОК, но теперь занадобился конструкт "фрейм во фрейме". Поясню за это дело: 1) Есть некий часто востребованный у меня набор элементов-контролов, который должен использоваться как некий единый вспомогательный инструмент. Выглядит он так: слева - дерево, справа - грид, который отображает отфильтрованный набор данных. Отфильтрованный благодаря клику в дереве, в смысле. 2) Вот этот самый конструкт из п.1 (назовем его условно "Подфрейм") я хочу затем использовать в разных местах другого фрейма, подменяя только родителя-панель, дабы не плодить большое количество довольно тяжелого, но совершенно одинакового "Подфрейма". Ниже на картинке показаны места, куда должен встраиваться этот комплексный элемент: И вроде бы все неплохо вначале, но... ровно до того момента, когда я пытаюсь сменить родителя-панельку, простым кодом: Код: pascal 1. В итоге получаю ошибку "Invalid pointer operation". Спрашиваю у знающих - проблема в самой концепции "фрейм во фрейме" ? Может кто использовал и сталкивался с проблемами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 11:27 |
|
||
|
Фрейм во фрейме
|
|||
|---|---|---|---|
|
#18+
Softologic, авторя хочу затем использовать в разных местах другого фрейма, подменяя только родителя-панель, дабы не плодить большое количество довольно тяжелого, но совершенно одинакового автор TPageControl Для этих целей предназначен TTabControl ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 12:51 |
|
||
|
Фрейм во фрейме
|
|||
|---|---|---|---|
|
#18+
^ - это раз два. всегда и точно проверенно работает вариант просто удалять там и так же просто создавать тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 13:59 |
|
||
|
Фрейм во фрейме
|
|||
|---|---|---|---|
|
#18+
krapotkin^ - это раз два. всегда и точно проверенно работает вариант просто удалять там и так же просто создавать тут а можно подробнее? где и что удалять и создавать? Удалять и снова создавать этот тяжеловесный фрейм я пробовал, но хочется легкий вариант - просто смена родителя. И оно даже вполне себе работает, если бы не использование указателей в дереве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 14:11 |
|
||
|
Фрейм во фрейме
|
|||
|---|---|---|---|
|
#18+
Кажется нашел еще по теме: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2019, 14:18 |
|
||
|
Фрейм во фрейме
|
|||
|---|---|---|---|
|
#18+
Поскольку выяснилось что смена родителя для дерева влечет за собой обнуление Data во всех узлах, реализовал в итоге через TList и дополнительный класс. За основу взял инфу отсюда: http://www.delphibasics.ru/TList.php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2019, 00:38 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39824033&tid=2039398]: |
0ms |
get settings: |
4ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
147ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 407ms |

| 0 / 0 |
