[fpc-pascal] Re: Library callback : how do I do that?

Marco van de Voort marcov at stack.nl
Fri Aug 9 13:23:13 CEST 2013


In our previous episode, Sven Barth said:
> It's not only the memory that needs to be shared. All DLLs need to use 
> the same RTL functions and the VMT pointers need to be equal as well. If 
> you have two DLLs and both use TObject than for a TObject variable of 
> DLL A "is" is not true for a TObject from DLL B. This is what runtime 
> packages solve correctly (in addition to dependency loading, etc).

I assume I don't have to tell you, but for the benefits of others:

In general, there is only one copy of anything in a system with packages, so
the unit's code and const parts (rtti/vmts) and its state
(variables) only exist once.  Both from RTL and user parts.

And there already is much more crucial global state (locale,
exception/synchronize system, unicode codepage stuff in trunk etc) than just
memory manager.





More information about the fpc-pascal mailing list