SQLite库可以嵌入(Link)Delphi可执行文件吗?

Cha*_*ang 10 delphi sqlite

我想知道我们是否能够将SQlite库嵌入到Delphi可执行文件中,我们可以将我们的应用程序部署为单个.exe文件而不需要任何SQlite dll文件.

嵌入不是将sqlite dll文件保存到资源中,而是链接到Delphi可执行文件.

Sig*_*dur 6

我没有试过这个组件,但我计划在未来的 Delphi Inspiration - DISQLite3

还有 Synopse OpenSource SQLite3 Framework

免费软件版本也可用


r4w*_*173 5

我们已经使用Borland的免费命令行工具C编译器编译了SQLite3,并使用{$ LINK'OBJS \ sqlite3.obj'}在Delphi中链接了所得的OBJ文件,并为所需的功能编写了Pascal包装器。

链接时解决一些标准的C库函数存在问题,但是我们在Delphi中重新实现了它们。

  • 这正是我们对[SQLite3的开源绑定](http://blog.synopse.info/post/2011/07/22/SynDBSQLite3%3A-SQLite3-direct-access)所做的操作。因此,您拥有了所有的[源代码](http://synopse.info/fossil/artifact?name=37195887f6c0e17ca8217704223a440817e087ee)-尤其是纯Delphi代码中的标准C库等效项(这并不那么明显)。 (2认同)

Sim*_*ies 4

我遇到了同样的问题,这是我想出的解决方案。也许它可以帮助你。只需包含 sqlite3,然后您就可以直接访问 dll 函数。我使用了已经概述的相同方法: http ://simvector.com/download/delphi_sqlite3.zip

DLL 只是以源形式编码,DLLLoader 单元在运行时加载它。最终结果是您的发行版中没有额外的 DLL,但代价是所有 DLL 都被一次性加载到内存中,而不是通过操作系统按需加载部分内容。

我们需要它正常工作,但发行版中没有额外的 dll。所以适合我们的需要。