Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Фрейм во фрейме / 8 сообщений из 8, страница 1 из 1
07.06.2019, 11:27
    #39823919
Softologic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрейм во фрейме
Все привет!
Не первый год уже как использую фреймы (Delphi 7), все всегда было ОК, но теперь занадобился конструкт "фрейм во фрейме". Поясню за это дело:

1) Есть некий часто востребованный у меня набор элементов-контролов, который должен использоваться как некий единый вспомогательный инструмент. Выглядит он так: слева - дерево, справа - грид, который отображает отфильтрованный набор данных. Отфильтрованный благодаря клику в дереве, в смысле.



2) Вот этот самый конструкт из п.1 (назовем его условно "Подфрейм") я хочу затем использовать в разных местах другого фрейма, подменяя только родителя-панель, дабы не плодить большое количество довольно тяжелого, но совершенно одинакового "Подфрейма". Ниже на картинке показаны места, куда должен встраиваться этот комплексный элемент:



И вроде бы все неплохо вначале, но... ровно до того момента, когда я пытаюсь сменить родителя-панельку, простым кодом:

Код: pascal
1.
PODBORFrame.Parent:=paPODB_SOP;



В итоге получаю ошибку "Invalid pointer operation". Спрашиваю у знающих - проблема в самой концепции "фрейм во фрейме" ? Может кто использовал и сталкивался с проблемами?
...
Рейтинг: 0 / 0
07.06.2019, 12:51
    #39823990
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрейм во фрейме
Softologic,

авторя хочу затем использовать в разных местах другого фрейма, подменяя только родителя-панель, дабы не плодить большое количество довольно тяжелого, но совершенно одинакового
автор TPageControl
Для этих целей предназначен TTabControl
...
Рейтинг: 0 / 0
07.06.2019, 13:59
    #39824033
krapotkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрейм во фрейме
^ - это раз
два. всегда и точно проверенно работает вариант просто удалять там и так же просто создавать тут
...
Рейтинг: 0 / 0
07.06.2019, 14:11
    #39824041
Softologic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрейм во фрейме
krapotkin^ - это раз
два. всегда и точно проверенно работает вариант просто удалять там и так же просто создавать тут
а можно подробнее? где и что удалять и создавать?

Удалять и снова создавать этот тяжеловесный фрейм я пробовал, но хочется легкий вариант - просто смена родителя. И оно даже вполне себе работает, если бы не использование указателей в дереве.
...
Рейтинг: 0 / 0
07.06.2019, 14:18
    #39824049
Softologic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрейм во фрейме
Кажется нашел еще по теме:
...
Рейтинг: 0 / 0
07.06.2019, 14:19
    #39824050
Softologic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрейм во фрейме
...
Рейтинг: 0 / 0
08.06.2019, 00:38
    #39824353
Softologic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрейм во фрейме
Поскольку выяснилось что смена родителя для дерева влечет за собой обнуление Data во всех узлах, реализовал в итоге через TList и дополнительный класс.
За основу взял инфу отсюда: http://www.delphibasics.ru/TList.php
...
Рейтинг: 0 / 0
09.06.2019, 19:24
    #39824644
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрейм во фрейме
SoftologicСпрашиваю у знающих - проблема в самой концепции "фрейм во фрейме" ?
Нет. С этой концепцией проблем нет, работает не хуже других.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Фрейм во фрейме / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]