[Lazarus] Updating an app "on the fly"

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Sat Jun 19 14:34:34 CEST 2010


Michael Van Canneyt wrote:

> For example, Packages share the same memory space and class inheritance 
> tree.
> Libraries do not.

> 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.

Thanks both. So if I understand things correctly:

* A package uses the same LCL as the rest of the app.

* A library (standard dll/so) has a distinct LCL.

* Static package loading is currently supported.

* Package loading under control of the app (i.e. to implement plugins 
etc.) is not currently implemented.

I believe that I've dynamically-loaded (Linux) libusb under program 
control before now but I'd need to look closely at my code to be 
absolutely certain (and to work out how I did it). Somebody on CIX 
contributed a Win-32 dynamic-library object which can be trivially 
subclassed to describe e.g. the WinSock DLL.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]




More information about the Lazarus mailing list