[Lazarus] Updating an app "on the fly"

Thierry Coq tcoq at free.fr
Sun Jun 20 10:37:09 CEST 2010


Dear Michael,
...
> For example, Packages share the same memory space and class 
> inheritance tree.
> Libraries do not.
You're absolutely right.
> Your example will fail for instance when using strings, exceptions and
> classes.
Yes, the example will fail for classes and exceptions. You are correct.

But it does allow the dynamic loading of functions and procedures, and 
arrays of chars. The procedures and functions can be dynamically 
identified, using a sort of plug-in infrastructure, for example with a 
convention that every DLL declares a Register procedure.

It would provide for some sort of flexibility in the application.

I do remember it was possible to share strings in Delphi DLLs using a 
sharedmem unit. I'll have to check if this possible to do so with FPC 
and Lazarus. It would increase the flexibility.

>
> If you are using packages, then TComponent will be defined in the rtl
> package, and both the application and program will refer to the same
> definition in the rtl package, and so "MyComponent is TComponent" will 
> work as intended.
>
Yes, I wish very much we had this mechanism in FPC, and therefore in 
Lazarus.

Thank you for your comments.

Thierry






More information about the Lazarus mailing list