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.


_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to