|
|
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Чтобы разгрузить модуль главной формы решил раскидать кое-какие интерфейсные элементы по фреймам. Перекидывал просто копи-пастой. Проблема первая. После размещения фрейма в контейнере на главной форме, события у некоторых элементов не отрабатываются. У некоторых срабатывают, у некоторых нет. Долго не мог понять что не так, зависимости не нашел. Сделал простую вещь - в модуле фрейма пересоздал (в дизайн-тайме) проблемные компоненты. Всё заработало. Что это такое и почему? Проблема вторая. На одном из фреймов лежит листбокс от девок TcxListBox. В нем соотв. некий TStrings, забитый в дизайн-тайме. Все хорошо компилится и работает. Закрываем Дельфу, открываем - TStrings пустой, итить его! (30 строк забиваем вручную заново) Что я делаю не так? P.S. кто ассоциирует себя с праздником (23.02), поздравляю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2020, 15:08 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Gluck99> Чтобы разгрузить модуль главной формы решил раскидать Gluck99> кое-какие интерфейсные элементы по фреймам. Фреймы придуманы не для этого... Gluck99> После размещения фрейма в контейнере на главной форме, Gluck99> события у некоторых элементов не отрабатываются. Gluck99> У некоторых срабатывают, у некоторых нет. Воспроизводится? Попробуйте переприсвоить (и сохранить) обработчики. Gluck99> TStrings, забитый в дизайн-тайме. Это странно. Свойство забито у фрейма или у конкретного экземпляра на форме? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2020, 19:26 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Gluck99 роблема первая. После размещения фрейма в контейнере на главной форме, события у некоторых элементов не отрабатываются. У некоторых срабатывают, у некоторых нет. Долго не мог понять что не так, зависимости не нашел. Сделал простую вещь - в модуле фрейма пересоздал (в дизайн-тайме) проблемные компоненты. Всё заработало. Что это такое и почему? Посмотри в dfm контейнера: возможно, соотв. свойства стали nil, если да - то такие строки в dfm надо убрать. Где-то сам испортил, скорее всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2020, 19:49 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
ёёёёё> в dfm контейнера: возможно, соотв. свойства стали nil, ёёёёё> если да - то такие строки в dfm надо убрать. А просто переприсвоение с сохранением не работает ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2020, 20:05 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам ёёёёё> в dfm контейнера: возможно, соотв. свойства стали nil, ёёёёё> если да - то такие строки в dfm надо убрать. А просто переприсвоение с сохранением не работает ? Работает, обычно. Зависит в т.ч. от версии Delphi. На некоторых было вообще забавно: меняешь обработчик OnClick (например) на свой - ОК. Потом убираешь свой обработчик, а в dfm контейнера появляется строка: ContainerXXFrameYY.OnClick = nil - и всё, никакого обработчика, а к исходному теперь можно достучаться только явным вызовом или правкой dfm. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2020, 20:16 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Gluck99> Чтобы разгрузить модуль главной формы решил раскидать Фреймы придуманы не для этого... Гаджимурадов Рустам Воспроизводится? Попробуйте переприсвоить (и сохранить) обработчики. Гаджимурадов Рустам Это странно. Свойство забито у фрейма или у конкретного экземпляра на форме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 00:23 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
ёёёёё Где-то сам испортил, скорее всего. Открываем проект. У нас несколько вкладок - главная форма + другие формы + фреймы + дата модуль. Закрываем Дельфу. Если на момент закрытия у нас была активна любая вкладка, кроме вкладки главной формы, то всё Ок. При последующем открытии проекта TStrings в листбоксе заполнен. Но если в момент закрытия Дельфы у нас была активна вкладка главной формы (где уже сидит экземпляр фрейма), то после открытия проекта у нас, соотв., активной становится вкладка главной формы, мы переходим на вкладку фрейма и... вуаля - TStrings у листбокса пустой. Delphi 10.3 update 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 02:08 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Gluck99Я свою гипотезу проверил - она подтвердилась. Delphi 10.3 update 2. Открываем проект. У нас несколько вкладок - главная форма + другие формы + фреймы + дата модуль. Закрываем Дельфу. Если на момент закрытия у нас была активна любая вкладка, кроме вкладки главной формы, то всё Ок. При последующем открытии проекта TStrings в листбоксе заполнен. Но если в момент закрытия Дельфы у нас была активна вкладка главной формы (где уже сидит экземпляр фрейма), то после открытия проекта у нас, соотв., активной становится вкладка главной формы, мы переходим на вкладку фрейма и... вуаля - TStrings у листбокса пустой. Оформляйте баг и отправляйте EMBT - пусть правят. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 15:08 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
DimaBr, но удобно же - не плодить код и формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 15:10 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Оформляйте баг и отправляйте EMBT - пусть правят. Готов предсказать что они ответят - "претензии к левым компонентам отправляйте авторам компонент". И не исключено, что будут правы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 15:22 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Хотелось бы услышать владельцев Delphi 10.3 update 2. Могут ли они воспроизвести сей глюк ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 15:28 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
softwarer> "претензии к левым компонентам отправляйте авторам компонент" softwarer> И не исключено, что будут правы. Кстати, да, нужно проверить воспроизводится ли это со стандартным Listbox-ом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 15:31 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Gluck99 Этот тезис советую отправить в Борланд, который ввел фреймы в Дельфи ~20 лет назад. Но не использовтаь фреймы все равно соотвествует здравому смыслу. Уж больно криво-косячный это инструмент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 15:43 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
rgreat Отправь, если интересно. Но не использовтаь фреймы все равно соотвествует здравому смыслу. Уж больно криво-косячный это инструмент. Возможно использование фреймов и не имеет смысла, но автор не потрудился объяснить почему. Теперь я тоже начинаю подозревать, что это криво-косячный инструмент. Взяться за фреймы я решил после того, как увидел много разных демок от разных контор с использованием фреймов. Раньше использование фреймов в таком количестве не встречал. Т.е. я воспринял это как некий тренд последних лет. "По телевизору показывают жуликов - ну чем я хуже?!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 15:58 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Gluck99> увидел много разных демок от разных контор с использованием фреймов. Демок чего? Как раз для демок фреймы могут и сгодиться. :) Gluck99> "По телевизору показывают жуликов - ну чем я хуже?!" Тебя посодют - а ты не воруй! (с) Их-то не посодют, и даже если посодют рядом - тебе легче не станет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 16:04 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Кстати, да, нужно проверить воспроизводится ли это со стандартным Listbox-ом. Но что дополнительно обнаружилось на том проекте, где проблема. Если открыть проект где по умолчанию была активна главная форма, а затем перейти на вкладку с фреймом (где пустой листбокс), потом закрыть проект с активной вкладкой фрейма без сохранения проекта, то при последующем открытии проекта листбокс будет заполнен. Т.е. TStrings есть, но не подгружается при открытии проекта, если активна вкладка главной формы. Причём проблема в реальном проекте воспроизводится и со стандартным ListBox'ом, который я положил рядом с девовским, т.е. оба бокса пустые при открытии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 16:18 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Gluck99> увидел много разных демок от разных контор с использованием фреймов. Демок чего? Как раз для демок фреймы могут и сгодиться. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 16:29 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Gluck99 Причём проблема в реальном проекте воспроизводится и со стандартным ListBox'ом Раз так, то теперь убираешь из этого проекта всё лишнее, следя за тем, чтобы проблема продолжала воспроизводиться. И когда получится маленький-простой проект на стандартных компонентах, пишешь багрепорт и прикладываешь его, шансы на успех достаточно высоки. Gluck99 Теперь я тоже начинаю подозревать, что это криво-косячный инструмент Фреймы - толковый инструмент, не без недостатков, но вполне приличный. Вопрос в том, что на фреймах, как и на наследуемых формах, любят вылезать косяки компонент и прочих использованных решений, в результате чего некоторые торопливые разработчики считают их косяками фреймов. Это вообще довольно частый сценарий в разных областях. Для примера, делал я однажды хранилище данных в Сибуре, и в нём, что вполне естественно, вылезали все косяки учётной системы - ну например, расползающие остатки, на которые в самой учётной системе никто не обращал внимания. И что, как Вы думаете, хоть один человек об этом думал? Нет, первая фраза, которую все говорили - что за кривое хранилище, какую хрень оно показывает, исправляйте. Пришлось несколько десятков раз тыкать разных людей носом в то, что это косяки их данных, прежде чем они начали немного думать головой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 16:30 |
|
||
|
Непонятные проблемы с фреймами
|
|||
|---|---|---|---|
|
#18+
Gluck99> Я сделал чистый проект, ни со стандартным листбоксом, Gluck99> ни с девовским проблема пока не воспроизводится :( Gluck99> ... Gluck99> Если открыть проект где по умолчанию была активна главная Gluck99> форма, а затем ..., потом закрыть проект ..., то при последующем Gluck99> открытии проекта листбокс будет заполнен. Как уже подсказали выше: если не можешь сделать воспроизводимый пример с нуля - делай его от обратного, выкидыванием из проекта и из формы всего лишнего/ненужного (все незадействованные компоненты, включая формы, весь ненужный код и т.д.). Хотя вполне возможно, что найдёшь косяк в конкретных действиях, а не самом инструменте. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2020, 20:23 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39930094&tid=2038556]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 372ms |

| 0 / 0 |
