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č <paulo...@gisoft.cz> 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
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to