On Sat, Jul 13, 2013 at 01:28:28PM +0100, Simon Slavin scratched on the wall:
>
> On 13 Jul 2013, at 10:14am, Dušan Paulovič <[email protected]> wrote:
>
> > - These plugins can be loaded and uloaded by user.
> > - Main application itself does not use SQLite, so each plugin using SQLite
> > must be linked to it.
>
> This is a defect in the way plugins are implemented. The easiest cure
> would be to have Bentley incorporate the SQLite API into its product
> even if it wasn't called in its product. But you are not Bentley
> and they may not do this just because you asked them.
That would not actually solve the problem. No matter if SQLite is in
a DLL or linked statically in the app, if there is sone master copy
of SQLite you're going to have the same issues as application plugins
are loaded and unloaded.
I'd also point out that getting a DLL to link back against APIs that
are part of an application is a bit of a trick. Although this is
somewhat common place in Unix style systems, windows really likes to
link "downstream" with DLLs. The common wisdom to do something like
this would require extracting SQLite into a DLL so that both the
application and the plugins could link it in. This is part of why so
many Windows applications end up having dozens of DLLs, even when the
code is part of their core. It is possible to get a dynamically
loaded DLL to link "upstream" without passing a block of function
pointers or some such nonesense, but it isn't the usual way of
getting things done.
-j
--
Jay A. Kreibich < J A Y @ K R E I B I.C H >
"Intelligence is like underwear: it is important that you have it,
but showing it to the wrong people has the tendency to make them
feel uncomfortable." -- Angela Johnson
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users