I get that message in the console all the time in red color, after update to Servoy 7.4.4.
The complete message is
Form ‘frm_project’ is abstract (no parts),and should not be created/touched because the elements are not there
frm_project is a base form that has no elements and no parts, but it has code. Other forms inherit from frm_project, so I can not add any element to it.
Is there a way to suppress that message, as I like my console to be clean.
You get that when you activate the solution or when you run it?
If the latter are you referencing the ‘frm_project’ form anywhere in code?
To be clear I am not talking about referencing it on the form (as base form) but in code.
Thanks for your question, Robert, as it did lead me to some closer investigations.
I get it when I run the solution, but only when I call a specific form.
It is this code line of a sub-form of frm_project that creates the warning once, and it gets called from our refreshUI(), which gets called itself from the onShow():
forms.frm_project.setProjectNameBox(controller.getName());
That function has just one line to make the UI element p_name_box more wide when a project name is quite long:
if (forms[sForm].elements.p_name_box) forms[sForm].elements.p_name_box.setSize((forms.frm_project_general_dtl.foundset.p_name && forms.frm_project_general_dtl.foundset.p_name.length > 45) ? 758 : 429, 33);
What I do not understand is that with that line, I do not touch the base-form frm_project, so I do not see the reason for the message.
It seems that Servoy thinks I create the form when I call that function.
Got it.
Normally, that function is called with
_super.setProjectNameBox(controller.getName());
and that does not create complains.
But the direct call created the message (was needed as frm_project was not the parent of the form)
forms.frm_project.setProjectNameBox(controller.getName());
So I just replaced that call with the actual code from the function, to spare the call to forms.frm_project
Now the console stays clean again.
Again, thanks for your question.