[Lazarus] Form in DLL
Michael Schnell
mschnell at lumino.de
Thu May 3 15:26:55 CEST 2012
On 05/03/2012 03:16 PM, Mark Morgan Lloyd wrote:
> even if that meant that they were built up step-by-step under code
> control rather than constructed from a description in resources.
Yep. If you don't want to create a tool that uses the resources in the
DLL and constructs the GUI from same, you can't use the Lazarus form
designer and need to write code to manually add the controls you need
for your plugin. IMHO it should not be too hard to do such a tool, as
this is exactly what is done by the program startup code, anyway. You
just need to take a look at the LCL part that does this
(TApplication.CreateForm, when creating a non-Main form) and take out
what you think is useful for that purpose. But (as said) you need to use
the LCL of the main project, not that of the DLL. So the tool should be
done in the main program, so that it attaches to the correct Application
instance. You then need to pass the address of the resource to same when
the DLL is "started" (e.g. by providing a function that returns that
address). Beware, that the memory management should be unified before.
-Michael
More information about the Lazarus
mailing list