Как пользоваться TFrame

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Как пользоваться TFrame

Сообщение qivi » 25.02.2010 15:25:32

Блин... это я проверял не с ним ли глюк, всё же не стандартный компонент. Он не нужен, просто удалите его.
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

Re: Как пользоваться TFrame

Сообщение AbakAngelSoft » 25.02.2010 16:07:58

как удалить? если проект даже не открывается?
Хотябы подскажите тогда имена модулей и типы компонентов из этого пакета, вручную через блокнот буду удалять.
:(
Аватара пользователя
AbakAngelSoft
постоялец
 
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар

Re: Как пользоваться TFrame

Сообщение qivi » 25.02.2010 16:54:07

AbakAngelSoft писал(а):как удалить? если проект даже не открывается?
Хотябы подскажите тогда имена модулей и типы компонентов из этого пакета, вручную через блокнот буду удалять.
:(


Странно, я вроде в модуле то его почистил... тока если в проекте застрял. Лазарус обычно загружая проект использующий отсутствующий в палитре компонент, предлагает вариации... там есть что то на вроде "загрузить проект не загружая модуль" (формулировку точно не помню), а потом при помощи диспечера проекта убиваю лишнее.

В этой теме последний мой пост и есть этот компонент:
viewtopic.php?f=5&t=2400&start=45

Да, вы же недолюбливаете 7z... вот в таре:
Gradienti.tar


А вот зачистил и проект (скоро Лазарус будет стоять на каждом ПК в конторе за который я хотя бы раз присел).
Demo.tar

И кстате под виндой всё же не работает... похоже что то я упустил, или делаю не так...
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

Re: Как пользоваться TFrame

Сообщение nagash » 01.04.2010 09:36:18

FedeX писал(а):после правки оригинального фрейма изменения не отображаються в том что лежит на форме, надо или пересоздавать или я не понял чего-то

Вот я тоже как-то не понял. Как работать с фреймами на лету?
Допустим создаю я фрейм, кидаю его на форму, изменяю его как мне нужно, но на самой форме он не меняется и после компиляции также остается старым.
nagash
новенький
 
Сообщения: 50
Зарегистрирован: 21.05.2007 08:27:05

Re: Как пользоваться TFrame

Сообщение alaken » 01.04.2010 18:41:41

nagash писал(а):
FedeX писал(а):после правки оригинального фрейма изменения не отображаються в том что лежит на форме, надо или пересоздавать или я не понял чего-то

Вот я тоже как-то не понял. Как работать с фреймами на лету?
Допустим создаю я фрейм, кидаю его на форму, изменяю его как мне нужно, но на самой форме он не меняется и после компиляции также остается старым.


что значит кидаю фрейм на форму?
вы присваииваете родителя фрейму?
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Как пользоваться TFrame

Сообщение nagash » 01.04.2010 19:01:01

Кидаю на форму компонент TFrame, к которому привязывается один из созданных фреймов.
nagash
новенький
 
Сообщения: 50
Зарегистрирован: 21.05.2007 08:27:05

Re: Как пользоваться TFrame

Сообщение alaken » 01.04.2010 21:11:01

хм, я так никогда фреймы не использовал, в большинстве мануалов приводилось более правильное его использование, то есть проектирование фрейма отдельно как объекта а затем в нужный момент создание его и вывод на поверхность родительсокго компонента (формы или панели), так более экономично в плане ресурсов.
Код: Выделить всё
...
var
  frm: TFrame1;

begin
  frm := TFrame1.Create( Self ); // создание в памяти экземпляра фрейма
  frm.parent := Panel1; // указание родителя, тоесть того компонента на котором он будет распологаться
...


Добавлено спустя 30 минут 59 секунд:
nagash писал(а):... и после компиляции также остается старым.


В дизайн фрейм у меня не отображается корректно, это баг.
У меня после компиляции все корректно отображается.
У вас какой версии Lazarus?
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Как пользоваться TFrame

Сообщение nagash » 02.04.2010 10:37:48

alaken
Я пытаюсь использовать фреймы вместо TPageControl и TNoteBook с их убогими границами. Насчет использования памяти - погляжу, но программка у меня простенькая, поэтому вряд ли я выиграю особо много ресурсов от добавления/убивания аж целых трех фреймов с пачкой кнопочек и TLabel'ов.

Лазарус у меня 0.9.28.2
Вчера скачал еще 0.9.29-24327 на пробу.
При проектировании все осталось по прежнему (фрейм на основной форме не обновляется), а вот после компиляции все становится как положено.
В общем-то меня и это устраивает, хотя конечно хотелось бы чтобы изменения происходили в реальном времени.
nagash
новенький
 
Сообщения: 50
Зарегистрирован: 21.05.2007 08:27:05

Re: Как пользоваться TFrame

Сообщение qivi » 02.04.2010 11:15:19

Я кстате побился, побился с ними... но лезли всякие глюки (полтергейс просто)... последней каплей стало следующее:
на одном фрейме лежал дбгрид, после нескольких компиляций он переставал работать, причём база работала, вывод данных в шовмезаге - нет проблем. удаление и создание грида вновь как и удаление фрейма и натяжка его на форму вновь - результата не давала. От отчаяния начинал пересобирать программу с самого начала грид изначально выводит данные из базы, но после ряда компиляций история повторяется :(

Может конечно дело не в лыжах, но я не смог не только решить проблему но даже осознать как такое может быть. Отказался в итоге от фреймов, использую нотебок.
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

Re: Как пользоваться TFrame

Сообщение nagash » 02.04.2010 11:30:05

Рано я радовался...
0.9.29-24327 не открывает ни один старый проект, может открывать только новые.
Ничего не пишет, тупо зависает.

qivi писал(а):Отказался в итоге от фреймов, использую нотебок

А есть какая-нибудь возможность убрать у ноутбука границы?
nagash
новенький
 
Сообщения: 50
Зарегистрирован: 21.05.2007 08:27:05

Re: Как пользоваться TFrame

Сообщение alaken » 02.04.2010 12:58:51

nagash писал(а):...хотя конечно хотелось бы чтобы изменения происходили в реальном времени.

нужно ждать когда поправят, но на баг-треккере я не нашел подобной проблемы...

nagash писал(а):А есть какая-нибудь возможность убрать у ноутбука границы?

нет, и TPageControl проверил в Lazarus, Delphi7, Delphi10 нет никаких упоминаний в параметрах о стиле границы.
Есть компонент TPanel у него с границами дела лучше, их можно в нем по разному настроить а можно вообще убрать.
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Как пользоваться TFrame

Сообщение nagash » 02.04.2010 15:00:10

alaken писал(а):нужно ждать когда поправят, но на баг-треккере я не нашел подобной проблемы...

Ставлю ящик пива, ответят "это не баг".

alaken писал(а):TPageControl проверил в Lazarus, Delphi7, Delphi10 нет никаких упоминаний в параметрах о стиле границы

Неужели только мне это кажется идиотизмом? :)

Действительно, похоже придется использовать пачку TPanel и каждый раз при надобности визуального редактирования формы менять Z-order.
Спасибо за совет.
nagash
новенький
 
Сообщения: 50
Зарегистрирован: 21.05.2007 08:27:05

Re: Как пользоваться TFrame

Сообщение Brainenjii » 02.04.2010 15:14:55

А не вариант использовать кучу фреймов с Anсhor'ами? И потом просто растягивать фрейм. Я так пользуюсь - не нарадауюсь
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Как пользоваться TFrame

Сообщение alaken » 02.04.2010 16:52:29

qivi писал(а):Я кстате побился, побился с ними... но лезли всякие глюки (полтергейс просто)... последней каплей стало следующее:
на одном фрейме лежал дбгрид, после нескольких компиляций он переставал работать, причём база работала, вывод данных в шовмезаге - нет проблем. удаление и создание грида вновь как и удаление фрейма и натяжка его на форму вновь - результата не давала. От отчаяния начинал пересобирать программу с самого начала грид изначально выводит данные из базы, но после ряда компиляций история повторяется :(

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


если вы в дизайнтайм фрейм на форму кидаете то инициализация фрейма перекладывается на конструктор формы, скорее всего здесь баг. попробуйте инициировать фрейм программно "ручками"
Код: Выделить всё
...
var
  frm: TFrame1;

begin
  frm := TFrame1.Create( Self ); // создание в памяти экземпляра фрейма
  frm.parent := Panel1; // указание родителя, тоесть того компонента на котором он будет распологаться
...


Добавлено спустя 7 минут 59 секунд:
nagash писал(а):
alaken писал(а):нужно ждать когда поправят, но на баг-треккере я не нашел подобной проблемы...

Ставлю ящик пива, ответят "это не баг".

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

nagash писал(а):
alaken писал(а):TPageControl проверил в Lazarus, Delphi7, Delphi10 нет никаких упоминаний в параметрах о стиле границы

Неужели только мне это кажется идиотизмом? :)

Думаю разработчики думают иначе =)

nagash писал(а):Действительно, похоже придется использовать пачку TPanel и каждый раз при надобности визуального редактирования формы менять Z-order.
Спасибо за совет.

в свое время я так и поступал, но потом прозрел...
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Как пользоваться TFrame

Сообщение nagash » 02.04.2010 19:43:05

Brainenjii писал(а):А не вариант использовать кучу фреймов с Anсhor'ами? И потом просто растягивать фрейм. Я так пользуюсь - не нарадауюсь

Спасибо, попробую.

alaken писал(а):в свое время я так и поступал, но потом прозрел...

Ну я таки текущий проект доделаю с использованием TPanel, устал уже пробовать разные варианты. Потом продолжу.
nagash
новенький
 
Сообщения: 50
Зарегистрирован: 21.05.2007 08:27:05

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 81

Рейтинг@Mail.ru