On Sun, 13 Jun 2021, Sven Barth wrote:

Michael Van Canneyt <mich...@freepascal.org> schrieb am So., 13. Juni 2021,
13:53:



On Sun, 13 Jun 2021, Sven Barth via lazarus wrote:

Am 11.06.2021 um 23:48 schrieb Juha Manninen via lazarus:
Regarding issue : https://bugs.freepascal.org/view.php?id=28450
<https://bugs.freepascal.org/view.php?id=28450>

The parameter passed to function RegisterComponents() is
TComponentClass
which means "class of TComponent". It is only type information and does
not
carry information about sub-components.
Could somebody please explain how it works in Delphi. Does this really
work
:
  RegisterComponents('Sample', [TMyFrame]);

Yes, it does work this way. I don't know what you mean with "information
about sub-components". The VMT vFieldTable entry contains all published
fields of the class and thus all the sub controls that are visible
through
the RTTI and thus for the designer. If the IDE does not use that yet,
then it
definitly should.

I added a comment to the report but it is old and the reporter may not
read
it.
Maybe there should be a new function RegisterFrame() or similar?

There is no need to add anything, because the necessary information is
already there. It's just that the IDE doesn't use it yet.

In Delphi, the above also does not work, you need special handling for
frames, just as for forms.


You think I didn't test it before writing? I created a frame, added it to a
package, added a Register procedure, installed the package, started a new
VCL application and added that frame to the form from the component
palette. I had added a button and a combo box and both were visible in the
designer.

I think there was a misunderstanding. You want to place a frame on a
form, just like a component.

I confused this with actually creating custom forms.

I have always used (since D7) a special designer call for this.

With (BorlandIDEServices As IOTAModuleServices) Do
  CreateModule(TMKFormWizardModuleCreator.Create(FBaseClass, 
FClause,FUseInherited) As IOTACreator);

Michael.
--
_______________________________________________
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to