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



--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to