|
|
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Добрый день, уважаемые delphi-гуру в help про Фреймы написано много полезных “вкусняшек” ... которых даже у Форм нет. Например, Фреймы можно вкладывать друг в друга, легко сконструировать как сложный компонент и хранить на палитре. Т.е. Фреймы быстро создаются, легко используются и поддерживаются средой разработки. Технология - мечта для RAD? А какие недостатки есть у TFrame ? Почему возникли сомнения, т.к. фреймы редко упоминаются. Почему забыли про эту "чудо-технологию"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 11:10 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Artem.1st, Фреймы можно использовать - с ними проблем нет. Иногда проблемы появляются с некоторыми кривыми компонентами в дизайтайме на фреймах, которые во что бы то ни стало хотят быть на форме. А так.. всё так и есть как ты описал - проблем нет - компоненты мечты Так сказать, с добрым утром.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 11:40 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Artem.1st, для меня у TFrame всего один недостаток - при редактировании родительского фрейма в IDE крайне желательно, чтобы дочерние фреймы были закрыты. а так фреймы очень удобная штука, хоть на десктопе, хоть на мобилках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 11:44 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
В некоторых версиях дельфи постоянно начинаются глюки при попытке наследования фреймов. Я как-то делал проект, там был базовый фрейм для формы редактирования и 3-4 его варианта под конкретные данные - как же я задолбался, когда при каждом открытии наследуемых фреймов вылетали рандомные ошибки, потому что дельфя постоянно пыталась сохранить фрейм как форму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 11:54 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Dimonkaпроблемы появляются с некоторыми кривыми компонентами в дизайтайме на фреймах, которые во что бы то ни стало хотят быть на форме. Спасибо за ответ. Весьма полезная информация, т.к. я вспомнил, что сам писал такой компонент, который ожидает Форму в дизайнтайме :-//// ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 12:08 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
alekcvpВ некоторых версиях дельфи постоянно начинаются глюки Спасибо за ответ. Пожалуйста, поясните, эти глюки повились только при переходе на другую версию Delphi ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 12:11 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Artem.1stalekcvpВ некоторых версиях дельфи постоянно начинаются глюкиСпасибо за ответ. Пожалуйста, поясните, эти глюки повились только при переходе на другую версию Delphi ? Возможно предыдущий оратор имел в виду ситуацию, когда есть какая-то иерархия фреймов, унаследованная от базового фрейма. Затем автор начинает перелопачивать базовый родительский фрейм (переименовывать/удолять компоненты, пересвязывать их как-то). Тогда да, может случиться конфуз. Но это касается любого визуального наследования в Дельфи - фреймы тут ни особо при чём. В формах те же самые проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 12:23 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
DimonkaТогда да, может случиться конфуз. Но это касается любого визуального наследования в Дельфи - фреймы тут ни особо при чём. В формах те же самые проблемы. Нет, автор имеет в виду ситуацию, когда в dfm-файле унаследованного фрейма после редактирования появляются свойства вроде "position", "windowstate" и прочие от TForm. В результате чего при последующем открытии появляются ошибки вида "свойство ххх не найдено в базовом классе". Лечится ручным удалением этих свойств из DFM-файла и исправлением индентификатора object на inherited там же. Проявлялось, ЕМНИП, на DX2, в более новых версиях я с фреймами не работал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 12:35 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
DimonkaЗатем автор начинает перелопачивать базовый родительский фрейм ... Тогда да, может случиться конфуз. Кажется, это то, чего я опасался в Фреймах. К сожалению, нет возможности проверить, пожалуйста, прокомментируйте пример: У меня есть базовый фрейм и несколько наследников, причем в задачу входит частое редактирование базового фрейма(удаление-добавление контролов). А следить за фреймами-наследниками - это обязанность программиста, и среда разработки никак не облегчает этот процесс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 13:35 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Artem.1st А следить за фреймами-наследниками - это обязанность программиста, и среда разработки никак не облегчает этот процесс? Насколько я помню, как только ты "тронешь" (изменишь) хоть один унаследованный контрол на наследнике, то дальшейшая его судьба будет целиком в твоих руках. Т.е. он будет хранить свои параметры уже в наследнике. Но это не точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 16:27 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Artem.1stУ меня есть базовый фрейм и несколько наследников, причем в задачу входит частое редактирование базового фрейма(удаление-добавление контролов). Возможно тебе стоит вместо базового фрейма разместить эти (часто редактируемые) контролы на форме, а на фреймы вынести только индивидуальные для них?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 16:29 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Artem.1st А какие недостатки есть у TFrame ? У самих фреймов недостатков, в общем, нет. Есть некоторые недостатки, связанные с плохой их поддержкой в VCL и IDE. Кроме того, есть некоторые концептуальные ошибки дизайна VCL, которые проявляются в том числе при использовании фреймов. Поэтому для беспроблемного использования фреймов нужна определённая дисциплина программирования - знать, что при их использовании не стоит делать и почему. В целом, основное правило формулируется так: не стоит дорабатывать фрейм непосредственно на форме. То есть из вариантов "кинул на форму базовый фрейм и доработал по месту" и "сделал наследника от базового фрейма, доработал его и кинул на форму" второй куда лучше. Artem.1stПочему возникли сомнения, т.к. фреймы редко упоминаются. Почему забыли про эту "чудо-технологию"? Потому что программисты на Delphi в своей массе не блещут уровнем. В результате этого они, с одной стороны, склонны выбирать решения типа "будем создавать всё в рантайме" (а в этом случае фреймы не дают преимуществ и в общем не нужны), а с другой стороны - напоровшись на какую-то проблему при использовании фреймов, вместо того, чтобы разобраться с её причинами, отказываются от их использования вообще и изобретают вместо этого аналогичный собственный кривой велосипед (как правило, те или иные извраты, связанные со встраиванием форм в другие формы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 18:26 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
softwarerПоэтому для беспроблемного использования фреймов нужна определённая дисциплина программирования Спасибо за ответ. Я понял “проблему” Фреймов, при всех своих достоинствах(скорость и простота разработки) они слишком “хрупкие” в быту, в отличие от классических визуальных контролов, которые очень трудно “сломать” ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 18:56 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Вот так и становятся экспертами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 19:05 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Artem.1stsoftwarerПоэтому для беспроблемного использования фреймов нужна определённая дисциплина программирования Спасибо за ответ. Я понял “проблему” Фреймов, при всех своих достоинствах(скорость и простота разработки) они слишком “хрупкие” в быту, в отличие от классических визуальных контролов, которые очень трудно “сломать”Ооо, как это развидеть? )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 20:42 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Artem.1stони слишком “хрупкие” в быту Как известно, северный варвар способен не только сломать свой нефритовый жезл, но и поранить при этом руки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 21:05 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
softwarerУ самих фреймов недостатков, в общем, нет. Есть некоторые недостатки, связанные с плохой их поддержкой в VCL и IDE. Кроме того, есть некоторые концептуальные ошибки дизайна VCL, которые проявляются в том числе при использовании фреймов.Как будто есть какие-то фреймы вне VCL и IDE - в вакууме, видимо. :) Извините за занудство, просто глаз резануло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 21:27 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Например, Фреймы я не люблю, не умею их готовить и кормить их и ими. Например, всегда возникала задача изменить какой-то "пре-фрейм" в середине иерархии. И потом эти изменения где-то принимались, а где-то нет (удалённо) Ну нах! Мне проще dll переписать и в базу положить. И реплицировать без проблем. Тут тебе и контроль версий и вся лабуда. Опять же, у формы, панельке есть хендл, который юзается где угодно. _____ Так что думай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 22:21 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамКак будто есть какие-то фреймы вне VCL и IDE - в вакууме, видимо. :) Извините за занудство, просто глаз резануло. Не вижу оснований для "резануло". Ну вот как объяснить... представь, что один инженер разработал хороший мотор. Другой - поставил его в плохой самолёт. И вот, этот самолёт не сказать чтобы хорошо летает. И в работе мотора даже наблюдаются определённые проблемы - связанные, например, с тем, что в некоторых режимах самолёт начинает с перебоями подавать в мотор топливо. Но это всё - не является недостатками мотора, вроде как очевидно. И когда приходишь ты и говоришь "будто есть какие-то моторы вне самолётов" - это выглядит странновато. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2019, 22:32 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
GatorНапример, всегда возникала задача изменить какой-то "пре-фрейм" в середине иерархии. И потом эти изменения где-то принимались, а где-то нет (удалённо) Ну нах! То ли не по-русски написано, то ли я чего-то не понимаю. Что значит "не принимались"? GatorМне проще dll переписать и в базу положить. И реплицировать без проблем. Тут тебе и контроль версий и вся лабуда. Как эти все слова связаны с фреймами??? здесь лицо джекичана.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2019, 10:51 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
DimonkaТо ли не по-русски написано, то ли я чего-то не понимаю. Что значит "не принимались"? Если фрейм на форму вставлен в дизайн-тайм, то, при изменении его предка, на этой форме изменения не отображаются, потому что она уже сама хранит параметры этих контролов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2019, 11:22 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
alekcvpЕсли фрейм на форму вставлен в дизайн-тайм, то, при изменении его предка, на этой форме изменения не отображаются, потому что она уже сама хранит параметры этих контролов. Это неверное утверждение. "Изменения не отображаются" только для тех свойств, которые изменены в наследнике - как и при любом наследовании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2019, 11:25 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
softwareralekcvpЕсли фрейм на форму вставлен в дизайн-тайм, то, при изменении его предка, на этой форме изменения не отображаются, потому что она уже сама хранит параметры этих контролов. Это неверное утверждение. "Изменения не отображаются" только для тех свойств, которые изменены в наследнике - как и при любом наследовании. Теоретически, а на практике в старых версиях там был глюк на глюке, я вон выше писал про наследование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2019, 11:55 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
alekcvpТеоретически, а на практике в старых версиях там был глюк на глюке, я вон выше писал про наследование. Может быть в очень-очень старых. В Delphi 7/2009/XE2/XE4 я что-то такого не сильно припоминаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2019, 12:03 |
|
||
|
компонент TFrame. У кого есть опыт использования?
|
|||
|---|---|---|---|
|
#18+
alekcvpТеоретически, И практически тоже. alekcvpа на практике в старых версиях там был глюк на глюке Думаю, Delphi 5 - достаточно старая, но никаких "глюк на глюке" там не было, всё отлично работало. alekcvpя вон выше писал про наследование Могу лишь пожать плечами. Лично у меня довольно много претензий к функционированию относительно современных версий дельфы. Что же касается старых, по шестёрку включительно - в каждой ситуации, когда она вела себя "не так" я в итоге находил, что причина в ошибке в моих компонентах или другом дизайн-таймовом коде. С семёрки всё начало портиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2019, 12:10 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39810437&tid=2039508]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
426ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 768ms |

| 0 / 0 |
