Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
Всем добрый!!! Возник такой вот философский вопрос. Создаем какой-либо проект. Как обычно, есть главная форма, в ней меню. А вот потом можно пользователю показывать модальные формы. А можно показывать в этой же главной форме нужный в данный момент работы соответствующий фрэйм. Так какая технология "правильнее"? У кого какие мысли на эту тему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 15:00 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
Было дело - я юзал PagaControl со скрытыми табами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 15:42 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
Млин.... PagaControl = PageControl ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 15:43 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
А вот потом можно пользователю показывать модальные формы Ты это про какой тип приложения? Многодокументный или обычный? Хотя все-равно - многовато что-то модальных форм. А можно показывать в этой же главной форме нужный в данный момент работы соответствующий фрэйм Это где показывать? Вместо каких-то ненужных контролов :) Так какая технология "правильнее"? Есть всего одна правильная . Все, что каксается фреймов - это просто для понтов сделано. А уж с помощю них менять технологию работы всего приложения - это уж слишком. Обычными формами нужно пользоваться, обычными. + метод ManualDock, когда надо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 15:50 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
Приложение такого плана - что-то ввести, откорректировать при необходимости, посмотреть на экране при желании отчеты, при еще большем желании - распечатать отчеты. Информации в базе валяется, ессно. Вот. А формы модальные, чтобы не дай бог тетя из отдела кадров не запуталась в окнах (откуда, собственно, и родилась идея о фреймах в одном главном окне). Где показывать? В главной форме. Ткнул в какой-либо пункт меню, все фреймы не Visible, нужный - Visible. Тетя не промахнется и не испугается. Ткнул в другой - предыдущий скрыли (ессно, проверирв, что все, что нужно сохранили/ не сохранили и т. д. ), новый показали. А менять ничего не меняем. Просто думаем, как сделать лучше для непродвинутых пользователей или тех, которые только под DOSовскими приложениями раньше работали (извините, есть такие ;*))) ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 16:14 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
Ну дык тем более. Раз у тебя уже все формы есть - можешь их и использовать метод WinComponent.ManualDock дочит форму на этот самый WinComponent (TPanel и т.п.). Получается встроенная форма. Зато ее можно использовать и как обычную. А фреймы - это все фигня, одно мытарство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 17:43 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
На фреймах очень удобно делать "запчасти" к приложению. Я, к примеру, на них делаю всякие фильтры (по датам, например). Короче говоря всякие общие веши, которые можно выделить в отдельный модуль и потом где надо заюзать, очень удобно делать во фреймах. Преимущества перед формами: 1. меньше весят 2. можно положить на палитру или легко взять из хранилища 3. в дизайнере можно дизайнить форму, на которой лежит фрейм, и сам фрейм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 17:46 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
Преимущества перед формами: 1. меньше весят 2. можно положить на палитру или легко взять из хранилища 3. в дизайнере можно дизайнить форму, на которой лежит фрейм, и сам фрейм 1. На сколько десятых %? 2. А зачем? 3. -/- 1. Одно самое главное преимущество форм, которое сводит на нет фреймы: чтобы показать фрейм, обязательно нужна форма. А чтобы показать форму - ничего обязательно не нужно. Хоть модально, хоть MDI, хоть в стиле фрейма встроить куда хошь. И глюки у фреймов с событиями. Да и не только с ними ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 19:51 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
to tygra <Все, что каксается фреймов - это просто для понтов сделано.> Трудно согласться с таким смелым утверждением. Борланд - не та, знаете ли, фирма. <Есть всего одна правильная .> И опять не верно. Единственно правильное решение бывает только у задач из учебников. Все зависит от характеристик проекта и (самое главное) от подготовки разработчиков. Если проект простой, пять - десять форм плюс несколько диалогов, тогда, разумеется, проще TPageControl или TTabbedNotebook. Наглядно, удобно... Ну а если форм за сотню, а длина некоторых из них переваливает 5000 строк, да еще и стоит вопрос о сопровождении разработки, поневоле приходится задумываться над структурированием проекта. Без этого просто не обойтись. Gold безусловно прав перечислив преимущества применения фреймов. to kylix_dev Раз уж у тебя возник вопрос, настоятельно советую начать использование технологии фреймов как можно раньше, не дожидаясь "больших" задач. Успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 00:05 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
2 Meson И опять не верно. Единственно правильное решение бывает только у задач из учебников. Все зависит от характеристик проекта и (самое главное) от подготовки разработчиков. Если проект простой, пять - десять форм плюс несколько диалогов, тогда, разумеется, проще TPageControl или TTabbedNotebook. Наглядно, удобно... Ну а если форм за сотню, а длина некоторых из них переваливает 5000 строк, да еще и стоит вопрос о сопровождении разработки, поневоле приходится задумываться над структурированием проекта. Без этого просто не обойтись. Gold безусловно прав перечислив преимущества применения фреймов. Вот как раз для больших проектов очень хорошее ООМ получается при наследовании форм. Реализация базовой функциональности в родительской и расширение (переопределение) в дочерних. Прошло время структуированных проектов. Проект надо начинать с ООМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 09:21 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
За мнения - спасибо. Только вот примерно такая же каша в голове у нас и варилась ;*))). to pkarklin А разве фреймы не укладываются в идеологию ООМ? to tygra Ну на самом деле мы ковыряемся в Kylix, а не в Delphi. Поэтому, как я подозреваю, ManualDock нам не товарищ ;*))). Да, можно поконкретнее о глюках с событиями у фрэймов? to Gold Согласен на счет запчастей, потому и зацепились за идею. to Messon Да, мы почему-то тоже немного доверяем фирме Borland. ;*)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 10:53 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
А разве фреймы не укладываются в идеологию ООМ? Да в чем их приемущество, то? Я не вижу в них чего-то такого, чего нельзя было сделать при наследовании форм. Если я чего-то сделал в базовой форме, то все наследники имеют эту функциональность. Изменил в базовой, изменились в дочерних. Фрэймы ту для чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 12:04 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
Хороший вопрос. Вот из-за таких вот вопросов топик и появился. Как раз вот и интересно, стоит ли с этим всем связываться и почему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 12:22 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
Не стоит, но это IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 12:36 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
2 Meson советую начать использование технологии фреймов как можно раньше, не дожидаясь "больших" задач. Я как раз не советую. Совсем не советую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 12:49 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
А кто кого сборет -- слон или кит ;) ? Не надо категорично отрицать полезность и нужность фреймов. Форма это форма, фрейм это фрейм. Но навороченные формы лучше разрезать на фреймы. У нас есть в проекте (уже немаленький -- более 300 тыс.) одна форма, самая старая. Сильно навороченная, многофункциональная, сделана по технологии PageControl. Сейчас стоит задачка разрезать ее на фреймы. Преимущество -- хотя бы то, что не будем ждать -- отдай мне из VSS а то надо подправить :). Да и с фреймом проще в плане управления памятью -- не нужен, сразу удаляем, память не занимаем, как это было бы в сл-е с PageControl. Зато другой механизм -- визардов -- с самого начала сделали на фреймах. Кррассота ! :) Общий предок -- фрейм, кот-й умеет ходить взад-вперед и описывает прочие базовые методы. Наследник уже их реализовывает. Вставляется (с помощью виртуальных конструкторов) все это тоже в фрейм, кот-й является владельцем визарда и умеет им управлять. Получилось красиво, удобно. И главное -- независимость кода. Можно каждый визард спокойно править, не трогая соседов, кот-е появляются в том же месте. И встроить куда угодно можно. Например один из визардов поставили в одном приложении. Когда позже понадобилось его добавить в основное -- проблем не было,легко и аккуратно. Одно из приложений у нас так и сделано -- GXOutlookBar выбирает нужный визард и вперед. Все на фреймах ;). Вопчем каждому овощу свое место. А главное что бы голова была на месте и об ООМ и ООП не забывать ;) ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 16:41 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
Одно из приложений у нас так и сделано -- GXOutlookBar выбирает нужный визард и вперед. Все на фреймах ;). Вопчем каждому овощу свое место В 99 раз повторяю: Есть такая процедура у формы - ManualDock(куда) Дык вот любую форму можно использовать как хочешь - как форму, как фрейм. Надо - воткнул ее в тот же визард. Надо - показал отдельно. Зачем фреймами голову забивать?????????? Они ничего, кроме ограничений, по сравнению с формами, не дают У нас больше 500 форм проект - и все прекрасно работает без всяких фреймов, некоторые формы в зависимости от ситуации и так, и так используются. И не надо городить городушки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 12:57 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
tygra, совсем не зачем так орать :). У меня нет столько здоровья что бы морочится с ManualDock -- есть задачки поважней, чем 10 000 раз писать "мама мыла раму". И не в докинге дело... Дело в и идеологии и ООП. С фреймами проще произвести декомпозицию, не задействуются лишние ресурсы. И т.д. и т.п. Вопчем за доолгое время разработки пожалеть, что не сделал это фреймом приходилось. Наоборот - еще нет :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 16:29 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
Какие ресурсы? О чем вы все говорите, про какие ресурсы? Лишний байт? Ну, кому с фреймами нравится - пожалуйста. Некоторые до сих пор на Netscape Gold работают - тоже нравится. Наверное :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 16:37 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
2 Fakas есть задачки поважней, чем 10 000 раз писать "мама мыла раму". Дело в и идеологии и ООП. И где это ты 10 000 умудряешься писать про раму, поделись. Что т при нормальном ООП (читай наследовании форм), мне ни разу не приходилось этим заниматься. И про идеологию в применении к фрэймам поподробней. И про ресурсы тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 16:51 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
Байт говоришь... Ну сравни 2 калсса -- TForm и TFrame... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 17:03 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
2 Fakas Ну сравни 2 калсса -- TForm и TFrame... Чет я не понял, причем тут сравнение классов, ты что фрэймы без форм можешь использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 17:08 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
Мама мыла раму -- это каждый раз Dock и пр. Что касается сравнения классов... При использовании того же вставляния формы в форму мы имеем 2 экземпляра класса TForm. С фреймами -- 1 форму и один фрейм. Я уже не говорю про то что при докинге дельфя делает всем контролам Recreate. Тоже не фонут изюму... Ребята, да делайте как хотите. Главное с головой :). И без экстремизма ;). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 17:42 |
|
||
|
forms vs frames
|
|||
|---|---|---|---|
|
#18+
2 Fakas Про докинг не надо. А вот следующее требует пояснения. При использовании того же вставляния формы в форму мы имеем 2 экземпляра класса TForm. Чего куда вставляем и где два экземпляра??? Это как это форму вставить в форму? Я так не умею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2003, 18:01 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32166626&tid=2118169]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
130ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 456ms |

| 0 / 0 |
