View Issue Details

IDProjectCategoryView StatusLast Update
0024656LazarusIDEpublic2013-07-07 11:25
ReporterDmitry Assigned ToMattias Gaertner  
Status resolvedResolutionfixed 
Platform64 bitOSLinux Fedora 
Product Version1.1 (SVN) 
Fixed in Version1.1 (SVN) 
Summary0024656: No updated file resouces lfm, if change resource in frame
Descriptioni create project:
1. add to form TPageControl.
2. add Page to TPageControl.
3. Create TFrame page.
4. add TFrame to Page.
5. add button to TFrame
compille project.
if move button in this frame, (example change left or right), data in *.lfm file not changed.
in *.lfm section:
inherited BitBtnAdd: TBitBtn
              Left = 560
not changed.
Steps To Reproducei create project:
1. add to form TPageControl.
2. add Page to TPageControl.
3. Create TFrame page.
4. add TFrame to Page.
5. add button to TFrame
compille project.
if move button in this frame, (example change left or right), data in *.lfm file not changed.
in *.lfm section:
inherited BitBtnAdd: TBitBtn
              Left = 560
not changed.
TagsNo tags attached.
Fixed in Revision41911
WidgetsetGTK 2
Attached Files


related to 0024683 new Frames: Reset menu item is not working properly 


Mattias Gaertner

2013-06-25 11:10

manager   ~0068508

When you open designer windows of a frame and a form using that frame and you alter the frame most changes are not (yet) propagated to the form's frame. Do you mean that?
Remedy: Only open one designer at a time.


2013-06-25 15:27

reporter   ~0068512

please look this video about this error:

if i change parameter in lfm, parameter changed.
if i change any dialog element in frame, parameter not changed.

in video, i change size grid, but after rebuild project, size not changed.
i move button in frame, but after rebuild, buttom not changed.
any changes to the controls, you need to duplicate the resource file.
but it should be (before) noted that I was changing the size of the main window and change the size of the frame.

thank you for you job.


2013-06-25 15:36

reporter   ~0068513

when the bug will be fixed?

Zeljan Rikalo

2013-06-25 15:50

developer   ~0068514

If you provide correct patch it could be fixed imediatelly, otherwise it probably will be when some developer have enough spare time to fix it.

Mattias Gaertner

2013-06-25 16:51

manager   ~0068518

It works here. Maybe I misunderstood the steps to reproduce.
The video does not show how the example was created.
Please provide an example project.


2013-06-25 16:56

reporter   ~0068519

after create project, please change size all project and change size form. after this action, error be present.


2013-06-25 16:58


ut.tar.gz (170,513 bytes)


2013-06-25 16:58

reporter   ~0068520

i upload my project


2013-06-25 17:02

reporter   ~0068521

please look this video (my project):


2013-06-25 17:02

reporter   ~0068522

Mattias Gaertner

2013-06-25 17:28

manager   ~0068523

Thanks for the example.

The ut.lfm contains overrides for the corrdinates. For example:

          inline FrameSprProizvoditeley1: TFrameSprProizvoditeley
            inherited BitBtnAdd: TBitBtn
              Left = 680
              Top = 16

So any move of BitBtnAdd on the frame is overridden by ut.lfm.
Remove the overrides.


2013-06-25 18:03

reporter   ~0068524

I do not understand. delete those lines?

frame not saved any options!
i setup option in FrameSprProizvoditeley1.
all look ok.

after i create grid in next frame.
restart and rebuild program.

look FrameSprProizvoditeley1, and all element move again lost all the positions.

and new windows grid not saved option.

please look last version project.

and please fix this bug. I'm tired determine the amount of hands.


2013-06-25 18:04


ut2.tar.gz (174,756 bytes)


2013-06-25 18:15

reporter   ~0068525

Last edited: 2013-06-25 18:16

View 2 revisions

need to remove all controls from a resource file, which are located within the frame section?

         inline FrameSprProizvoditeley1: TFrameSprProizvoditeley
            ... // delete
            inherited BitBtnAdd: TBitBtn // delete
              Left = 680 // delete
              Top = 16 // delete
            end // delete

when you can fix this problem?


2013-06-25 18:25

reporter   ~0068526

please help me.

after remove options, not work action:

procedure TFrameSprProizvoditeley.Datasource1DataChange(Sender: TObject;
  Field: TField);
      EditNameProizvoditel.Caption := ZQuery1.FieldByName('NAMEPROIZVODITELYA').AsString;
      EditStrana.Caption := ZQuery1.FieldByName('STRANAPROIZVODITELYA').AsString;


and not work add button, change button and delete button....


2013-06-25 18:27


ut3.tar.gz (174,472 bytes)


2013-06-25 18:32

reporter   ~0068527

check out my latest project (ut3). I restored the file (lfm) from a previous project, but the events do not work in the project.

any action in TFrameSprProizvoditeley not work.

when you can fix this problem?

Mattias Gaertner

2013-06-25 20:35

manager   ~0068529

Only remove the Left, Top, Width, Height in the 'inherited' blocks. You can keep the other. Keep in mind to close the designer forms before editing the lfm files.

This is how the lfm files work:
First the frame lfm is loaded, then the unit lfm is loaded. So whatever is in the unit lfm wins.
When you put the frame on a unit and save you will see that it only adds the inline block to the unit lfm. When you move a button on the form, you change its Left, Top and this override is saved to the unit lfm. Any move of the button on the frame is now ignored for this unit.

Does this explain what you see?


2013-06-26 01:38

reporter   ~0068537

I do not know English, and electronic translator translates your text is very bad.
In addition, the parameters are not correct buttons have not yet correctly saves the grid: Caption, text color, and other options.

Your task is to rewrite the entire block frame for the following events:
1. Saving the project.
2. Build Project.
3. Launching the project.

You will fix this error?
I want this problem to be fixed as soon as possible.
thank you.

Mattias Gaertner

2013-06-26 01:58

manager   ~0068538

Your English is confusing. For example I have no idea what you mean with "the parameters are not correct buttons have not yet correctly saves the grid".

The example project does not run here. I get:

  Exception=SQL Error: library routine called out of sequence
  Stack trace:
  $0000000000AA03B4 line 236 of ../../src/dbc/ZDbcSqLiteUtils.pas
  $00000000009F3010 line 387 of ../../src/dbc/ZDbcSqLite.pas

Please confirm:
1. When you move a button on the frame and save the frame_spr_proizvoditeley.lfm file on disk has the new values.
2. You have deleted the inherited Left, Top, Width, Height in the ut.lfm.


2013-06-26 07:58

reporter   ~0068542

video clip you watched?
in the video shows a detailed problem.

when you change the parameters in the frame, they are not updated in the file ut.lfm

correct one error. Other errors I will post other topics.

Кто нибудь из русских здесь есть? Обьясните этому товарищу в чем проблема, а то он делает вид, что понять не может.
Пусть сначала одно исправят, а потом уже другие вопросы будем выяснять.

Mattias Gaertner

2013-06-26 09:59

manager   ~0068543

About: "in the video shows a detailed problem"
It shows that you move a button on the frame, you save, close designer, open form that uses frame, button on form has not moved.
That's because the form has overridden the left,top of the button.
This is not a bug.

"when you change the parameters in the frame, they are not updated in the file ut.lfm"

ut.lfm is the form. Moving controls on the frame alters only the frame_spr_proizvoditeley.lfm.
This is not a bug.


2013-06-26 15:15

reporter   ~0068558

what you're saying is ridiculous. Lazarus program has a lot of problems. Permanently lost the main frame class. After this event is not handled in the class of the frame. Settings are not saved properly. ZQuery permanently lost connection to the database. The controls will lose their main class if I'm going to post in the main window, not in a separate frame.

in your program can not work. You mock people are saying if it's not a mistake.

I'm looking at your week Lazarus and everywhere I poked his arm, constant problems with the IDE.

Let people read this post and say. Error or not?

People! Look Video! This error or no?

do not delete this message, I will give here a lot of people to say their opinion.

Bart Broersma

2013-06-26 16:36

developer   ~0068560

Why so offensive?
Why would any of us bother helping you when you use that kind of tone?

Maxim Ganetsky

2013-06-26 22:39

developer   ~0068575

Last edited: 2013-06-27 00:44

View 6 revisions

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

По поводу вашей проблемы:

Вы подвинули на форме компоненты, принадлежащие фрейму, поэтому их положение (свойства Left и Top) сохранились в файле LFM формы. Теперь, если эти компоненты подвинуть во фрейме, на форме их положение действительно не изменится. Это нормально, так как сначала IDE разбирает LFM фрейма, и затем - LFM формы. Таким образом, положения компонентов, хранимые во фрейме, будут перекрыты положениями, хранимыми в форме.

Решение проблемы:
1. ЗАКРЫТЬ все проблемные формы и фреймы в Lazarus.
2. ВРУЧНУЮ в текстовом редакторе отредактировать файл LFM проблемной формы (не фрейма), выбросив оттуда свойства Left и Top компонентов, изменение положения которых во фрейме не отражается в форме.

Да, наверное, этот процесс следует автоматизировать, но масштаб проблемы не такой, чтобы закатывать истерику.


2013-06-27 12:00

reporter   ~0068590

Last edited: 2013-06-27 12:14

View 2 revisions

Уважаемый Максим здравствуйте.
Вы пишете "перестать хамить". Покажите текст в котором есть хамство.
Я возмущен тем, что проблема наглядно отображена (хотите ее называйте ошибкой или хотите называйте как угодно), но это есть проблема, которую нужно устранять.
После всех обьяснений мне менеджер начинает рассказывать о том, что меня не понимают, а после вообще говорит, что все нормально, так и должно быть, это не ошибка....
Какая реакция должна быть у человека, после этого?

По этому даже если было недовольство с моей стороны, то оно было к месту и обоснованное.

Теперь по теме:

1. Алексей мне рассказал, что Вы добавили пункт меню чтобы обновить содержимое фрейма (сам я еще это не видел), но он так же сообщил, что события кнопок (которые так же переназначаются САМОСТОЯТЕЛЬНО) на окно формы (см мой пример номер 3), еще не исправлено, т.е. вы исправили только позицию элементов управления, а события элементов управления не исправляли.
Я говорю о строке с текстом:
OnClick = nil

я ее в главное окно НЕ ДОБАВЛЯЛ. Эта строчка сама прописалась в файл ресурса главного окна.
ее тоже нужно обновлять в ресурсах главного окна, чтобы все события элементов управления (которые лежат на фрейме), должны обрабатываться только в классе фрейма и нигде иначе. Надеюсь вы согласны со мной. Думаю что возможен вариант того что (в редких случаях) может потребоваться обработку выполнения в каком то другом классе, но учитывая структуру IDE Lazarus думаю, что мудрить не нужно и вся обработка событий (перемещения по гриду, нажатия кнопок и т.д.) должна быть в том классе где лежат элементы управления.

2. Проблема с которой столкнулся в новой версии 41910. Возможно, что она уже решена, но я позволю смелость ее озвучить.
Я хотел удалить кенопку из фрейма. Я перешел в фрейм и удалил кнопку. Когда я открыл редактор ресурсов главного окна, то увидел, что кнопка стоит на своем месте как будто не удалялась. Я попытался удалить кнопку от сюда. Вижу сообщение, что удалять кнопку можно только из самого фрейма (с чем я полностью согласен). Перехожу во фрейм, там этой кнопки нет. Открываю главный файл ресурсов формы и вижу, что описание этой кнопки есть в фрейме. Я удаляю это описание, сохраняю файл, но описание снова создается и кнопка сияет будто ее никто не удалял. Любые попытки удаления кнопки тщетны.
Это может быть бесконечно долго, пока не закроешь студию. Как только запускаешь студию вновь, то кнопка считается удаленой.
Не могу точно сказать какая в этом причина, но эта проблема тоже есть. Если требуется то я сделаю подробное видео с данной проблемой.

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

Это просто мысль (предложение на рассмотрение, не более ), просто мне кажется так будет бюолее правильно хранить информацию о ресурсах:

Ресурсы главного окна:
идет описание ресурсов ....
Далее должно быть описание ЭЛЕМЕНТОВ УПРАВЛЕНИЯ фрейма:
и здесь мы не дублируем описание элементов, а делаем ссылку на файл ресурсов фрейма.
и все данные о фрейме будут храниться в одном файле ресурсов фрейма.
Если сделать так, то не нужно будет что то обновлять и все будет работать максимально корректно.
Ресурсы фрейма будут храниться в одном месте как и положено, а главное окно проекта сможет получать данные из файла фрейма.

по моему это будет более правильным решением хранения информации о ресурсах. но решение остается за вами.

Ну и на последок, хочу прийти к примерению, если мои действия были расценены как хамство. Если кого обидел, прошу меня простить.

У меня есть небольшой опыт программирования на C++ (WinAPI, MFC). Если потребуется моя помощь, то можете на меня смело рассчитывать.
Могу делать модули на сях для лазаруса, если вдруг потребуется. это будет мой скромный вклад в общее дело.

Maxim Ganetsky

2013-06-28 22:02

developer   ~0068648

Last edited: 2013-06-28 22:08

View 3 revisions

Resolving as original issue is solved. For frame events related issues there is bug 0024683.

Please close.


2013-07-03 04:10

reporter   ~0068708

This error is not corrected. Watch these video:

why do you refuse to correct this problem?

why you are reporting that the problem is solved? This problem has not been solved. you add a menu item Reset, but it does not work.

you are uncomfortable doing your job on what you have to pay?

you need to pay you to do a quality job?

Issue History

Date Modified Username Field Change
2013-06-25 06:00 Dmitry New Issue
2013-06-25 11:10 Mattias Gaertner Note Added: 0068508
2013-06-25 15:27 Dmitry Note Added: 0068512
2013-06-25 15:36 Dmitry Note Added: 0068513
2013-06-25 15:50 Zeljan Rikalo Note Added: 0068514
2013-06-25 16:51 Mattias Gaertner Note Added: 0068518
2013-06-25 16:56 Dmitry Note Added: 0068519
2013-06-25 16:58 Dmitry File Added: ut.tar.gz
2013-06-25 16:58 Dmitry Note Added: 0068520
2013-06-25 17:02 Dmitry Note Added: 0068521
2013-06-25 17:02 Dmitry Note Added: 0068522
2013-06-25 17:28 Mattias Gaertner Note Added: 0068523
2013-06-25 18:03 Dmitry Note Added: 0068524
2013-06-25 18:04 Dmitry File Added: ut2.tar.gz
2013-06-25 18:15 Dmitry Note Added: 0068525
2013-06-25 18:16 Dmitry Note Edited: 0068525 View Revisions
2013-06-25 18:25 Dmitry Note Added: 0068526
2013-06-25 18:27 Dmitry File Added: ut3.tar.gz
2013-06-25 18:32 Dmitry Note Added: 0068527
2013-06-25 20:35 Mattias Gaertner Note Added: 0068529
2013-06-26 01:38 Dmitry Note Added: 0068537
2013-06-26 01:58 Mattias Gaertner Note Added: 0068538
2013-06-26 07:58 Dmitry Note Added: 0068542
2013-06-26 09:59 Mattias Gaertner Note Added: 0068543
2013-06-26 15:15 Dmitry Note Added: 0068558
2013-06-26 16:36 Bart Broersma Note Added: 0068560
2013-06-26 22:39 Maxim Ganetsky Note Added: 0068575
2013-06-26 22:39 Maxim Ganetsky Note Edited: 0068575 View Revisions
2013-06-26 22:41 Maxim Ganetsky Note Edited: 0068575 View Revisions
2013-06-26 22:44 Maxim Ganetsky Note Edited: 0068575 View Revisions
2013-06-27 00:41 Maxim Ganetsky Note Edited: 0068575 View Revisions
2013-06-27 00:44 Maxim Ganetsky Note Edited: 0068575 View Revisions
2013-06-27 12:00 Dmitry Note Added: 0068590
2013-06-27 12:14 Dmitry Note Edited: 0068590 View Revisions
2013-06-28 22:02 Maxim Ganetsky Fixed in Revision => 41911
2013-06-28 22:02 Maxim Ganetsky LazTarget => -
2013-06-28 22:02 Maxim Ganetsky Note Added: 0068648
2013-06-28 22:02 Maxim Ganetsky Status new => resolved
2013-06-28 22:02 Maxim Ganetsky Resolution open => fixed
2013-06-28 22:02 Maxim Ganetsky Assigned To => Mattias Gaertner
2013-06-28 22:02 Maxim Ganetsky Fixed in Version => 1.1 (SVN)
2013-06-28 22:03 Maxim Ganetsky Relationship added related to 0024683
2013-06-28 22:03 Maxim Ganetsky Note Edited: 0068648 View Revisions
2013-06-28 22:08 Maxim Ganetsky Note Edited: 0068648 View Revisions
2013-07-03 04:10 Dmitry Note Added: 0068708