powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / компонент TFrame. У кого есть опыт использования?
25 сообщений из 32, страница 1 из 2
компонент TFrame. У кого есть опыт использования?
    #39810067
Artem.1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, уважаемые delphi-гуру

в help про Фреймы написано много полезных “вкусняшек” ... которых даже у Форм нет. Например, Фреймы можно вкладывать друг в друга, легко сконструировать как сложный компонент и хранить на палитре.
Т.е. Фреймы быстро создаются, легко используются и поддерживаются средой разработки. Технология - мечта для RAD?

А какие недостатки есть у TFrame ?

Почему возникли сомнения, т.к. фреймы редко упоминаются. Почему забыли про эту "чудо-технологию"?
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810086
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Artem.1st,

Фреймы можно использовать - с ними проблем нет. Иногда проблемы появляются с некоторыми кривыми компонентами в дизайтайме на фреймах, которые во что бы то ни стало хотят быть на форме.
А так.. всё так и есть как ты описал - проблем нет - компоненты мечты Так сказать, с добрым утром..
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810088
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Artem.1st,

для меня у TFrame всего один недостаток - при редактировании родительского фрейма в IDE крайне желательно, чтобы дочерние фреймы были закрыты.

а так фреймы очень удобная штука, хоть на десктопе, хоть на мобилках
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810093
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В некоторых версиях дельфи постоянно начинаются глюки при попытке наследования фреймов.
Я как-то делал проект, там был базовый фрейм для формы редактирования и 3-4 его варианта под конкретные данные - как же я задолбался, когда при каждом открытии наследуемых фреймов вылетали рандомные ошибки, потому что дельфя постоянно пыталась сохранить фрейм как форму.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810108
Artem.1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimonkaпроблемы появляются с некоторыми кривыми компонентами в дизайтайме на фреймах, которые во что бы то ни стало хотят быть на форме.
Спасибо за ответ. Весьма полезная информация, т.к. я вспомнил, что сам писал такой компонент, который ожидает Форму в дизайнтайме :-////
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810110
Artem.1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpВ некоторых версиях дельфи постоянно начинаются глюки
Спасибо за ответ.
Пожалуйста, поясните, эти глюки повились только при переходе на другую версию Delphi ?
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810122
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Artem.1stalekcvpВ некоторых версиях дельфи постоянно начинаются глюкиСпасибо за ответ.
Пожалуйста, поясните, эти глюки повились только при переходе на другую версию Delphi ? Возможно предыдущий оратор имел в виду ситуацию, когда есть какая-то иерархия фреймов, унаследованная от базового фрейма. Затем автор начинает перелопачивать базовый родительский фрейм (переименовывать/удолять компоненты, пересвязывать их как-то). Тогда да, может случиться конфуз. Но это касается любого визуального наследования в Дельфи - фреймы тут ни особо при чём. В формах те же самые проблемы.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810134
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimonkaТогда да, может случиться конфуз. Но это касается любого визуального наследования в Дельфи - фреймы тут ни особо при чём. В формах те же самые проблемы.
Нет, автор имеет в виду ситуацию, когда в dfm-файле унаследованного фрейма после редактирования появляются свойства вроде "position", "windowstate" и прочие от TForm. В результате чего при последующем открытии появляются ошибки вида "свойство ххх не найдено в базовом классе". Лечится ручным удалением этих свойств из DFM-файла и исправлением индентификатора object на inherited там же. Проявлялось, ЕМНИП, на DX2, в более новых версиях я с фреймами не работал.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810178
Artem.1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimonkaЗатем автор начинает перелопачивать базовый родительский фрейм ... Тогда да, может случиться конфуз.
Кажется, это то, чего я опасался в Фреймах.
К сожалению, нет возможности проверить, пожалуйста, прокомментируйте пример:
У меня есть базовый фрейм и несколько наследников, причем в задачу входит частое редактирование базового фрейма(удаление-добавление контролов).

А следить за фреймами-наследниками - это обязанность программиста, и среда разработки никак не облегчает этот процесс?
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810299
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Artem.1st А следить за фреймами-наследниками - это обязанность программиста, и среда разработки никак не облегчает этот процесс?

Насколько я помню, как только ты "тронешь" (изменишь) хоть один унаследованный контрол на наследнике, то дальшейшая его судьба будет целиком в твоих руках. Т.е. он будет хранить свои параметры уже в наследнике.

Но это не точно.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810301
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Artem.1stУ меня есть базовый фрейм и несколько наследников, причем в задачу входит частое редактирование базового фрейма(удаление-добавление контролов).


Возможно тебе стоит вместо базового фрейма разместить эти (часто редактируемые) контролы на форме, а на фреймы вынести только индивидуальные для них?..
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810372
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Artem.1st А какие недостатки есть у TFrame ?
У самих фреймов недостатков, в общем, нет. Есть некоторые недостатки, связанные с плохой их поддержкой в VCL и IDE. Кроме того, есть некоторые концептуальные ошибки дизайна VCL, которые проявляются в том числе при использовании фреймов.

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

Artem.1stПочему возникли сомнения, т.к. фреймы редко упоминаются. Почему забыли про эту "чудо-технологию"?
Потому что программисты на Delphi в своей массе не блещут уровнем. В результате этого они, с одной стороны, склонны выбирать решения типа "будем создавать всё в рантайме" (а в этом случае фреймы не дают преимуществ и в общем не нужны), а с другой стороны - напоровшись на какую-то проблему при использовании фреймов, вместо того, чтобы разобраться с её причинами, отказываются от их использования вообще и изобретают вместо этого аналогичный собственный кривой велосипед (как правило, те или иные извраты, связанные со встраиванием форм в другие формы).
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810388
Artem.1st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerПоэтому для беспроблемного использования фреймов нужна определённая дисциплина программирования
Спасибо за ответ.
Я понял “проблему” Фреймов, при всех своих достоинствах(скорость и простота разработки) они слишком “хрупкие” в быту, в отличие от классических визуальных контролов, которые очень трудно “сломать”
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810392
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так и становятся экспертами.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810413
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Artem.1stsoftwarerПоэтому для беспроблемного использования фреймов нужна определённая дисциплина программирования
Спасибо за ответ.
Я понял “проблему” Фреймов, при всех своих достоинствах(скорость и простота разработки) они слишком “хрупкие” в быту, в отличие от классических визуальных контролов, которые очень трудно “сломать”Ооо, как это развидеть? ))))
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810418
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Artem.1stони слишком “хрупкие” в быту
Как известно, северный варвар способен не только сломать свой нефритовый жезл, но и поранить при этом руки.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810422
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerУ самих фреймов недостатков, в общем, нет. Есть некоторые недостатки, связанные с плохой их поддержкой в VCL и IDE. Кроме того, есть некоторые концептуальные ошибки дизайна VCL, которые проявляются в том числе при использовании фреймов.Как будто есть какие-то фреймы вне VCL и IDE - в вакууме, видимо. :)
Извините за занудство, просто глаз резануло.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810435
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, Фреймы я не люблю, не умею их готовить и кормить их и ими.

Например, всегда возникала задача изменить какой-то "пре-фрейм" в середине иерархии. И потом эти изменения где-то принимались, а где-то нет (удалённо) Ну нах!
Мне проще dll переписать и в базу положить. И реплицировать без проблем. Тут тебе и контроль версий и вся лабуда.

Опять же, у формы, панельке есть хендл, который юзается где угодно.

_____
Так что думай.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810437
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамКак будто есть какие-то фреймы вне VCL и IDE - в вакууме, видимо. :)
Извините за занудство, просто глаз резануло.
Не вижу оснований для "резануло". Ну вот как объяснить... представь, что один инженер разработал хороший мотор. Другой - поставил его в плохой самолёт. И вот, этот самолёт не сказать чтобы хорошо летает. И в работе мотора даже наблюдаются определённые проблемы - связанные, например, с тем, что в некоторых режимах самолёт начинает с перебоями подавать в мотор топливо. Но это всё - не является недостатками мотора, вроде как очевидно. И когда приходишь ты и говоришь "будто есть какие-то моторы вне самолётов" - это выглядит странновато.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810585
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GatorНапример, всегда возникала задача изменить какой-то "пре-фрейм" в середине иерархии. И потом эти изменения где-то принимались, а где-то нет (удалённо) Ну нах! То ли не по-русски написано, то ли я чего-то не понимаю. Что значит "не принимались"?
GatorМне проще dll переписать и в базу положить. И реплицировать без проблем. Тут тебе и контроль версий и вся лабуда. Как эти все слова связаны с фреймами??? здесь лицо джекичана..
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810601
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimonkaТо ли не по-русски написано, то ли я чего-то не понимаю. Что значит "не принимались"?
Если фрейм на форму вставлен в дизайн-тайм, то, при изменении его предка, на этой форме изменения не отображаются, потому что она уже сама хранит параметры этих контролов.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810602
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpЕсли фрейм на форму вставлен в дизайн-тайм, то, при изменении его предка, на этой форме изменения не отображаются, потому что она уже сама хранит параметры этих контролов.
Это неверное утверждение. "Изменения не отображаются" только для тех свойств, которые изменены в наследнике - как и при любом наследовании.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810611
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwareralekcvpЕсли фрейм на форму вставлен в дизайн-тайм, то, при изменении его предка, на этой форме изменения не отображаются, потому что она уже сама хранит параметры этих контролов.
Это неверное утверждение. "Изменения не отображаются" только для тех свойств, которые изменены в наследнике - как и при любом наследовании.
Теоретически, а на практике в старых версиях там был глюк на глюке, я вон выше писал про наследование.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810616
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpТеоретически, а на практике в старых версиях там был глюк на глюке, я вон выше писал про наследование. Может быть в очень-очень старых. В Delphi 7/2009/XE2/XE4 я что-то такого не сильно припоминаю.
...
Рейтинг: 0 / 0
компонент TFrame. У кого есть опыт использования?
    #39810621
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpТеоретически,
И практически тоже.

alekcvpа на практике в старых версиях там был глюк на глюке
Думаю, Delphi 5 - достаточно старая, но никаких "глюк на глюке" там не было, всё отлично работало.

alekcvpя вон выше писал про наследование
Могу лишь пожать плечами. Лично у меня довольно много претензий к функционированию относительно современных версий дельфы. Что же касается старых, по шестёрку включительно - в каждой ситуации, когда она вела себя "не так" я в итоге находил, что причина в ошибке в моих компонентах или другом дизайн-таймовом коде. С семёрки всё начало портиться.
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / компонент TFrame. У кого есть опыт использования?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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