delphi可以嵌入exe吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi可以嵌入exe吗相关的知识,希望对你有一定的参考价值。
可以嵌入已有的exe程序。如果可以。要怎么做?
一楼的太复杂了吧。不懂
不管是什么语言写的。只要是EXE就可以
参考资料:http://blog.sina.com.cn/s/blog_4a8552f80100drnz.html
SQLite 库可以嵌入(链接)到 Delphi 可执行文件吗?
【中文标题】SQLite 库可以嵌入(链接)到 Delphi 可执行文件吗?【英文标题】:Can SQLite library embed (Link) to Delphi executable file? 【发布时间】:2011-05-20 10:30:32 【问题描述】:我想知道我们是否能够将 SQlite 库嵌入到 Delphi 可执行文件中,并且我们可以将我们的应用程序部署为没有任何 SQlite dll 文件的单个 .exe 文件。
嵌入不是将sqlite dll文件保存到资源中,而是链接到Delphi可执行文件。
【问题讨论】:
Aducom wrapper 似乎是您要查找的内容。 【参考方案1】:我还没有尝试过这个组件,但我计划在未来 Delphi Inspiration - DISQLite3
还有 Synopse OpenSource SQLite3 Framework
也提供免费软件版本
【讨论】:
我们的SQLite3 dedicated classes 现在可以在我们的 ORM 框架范围之外轻松使用。如果需要(通过 OleDB 或直接 Oracle 访问),它们也可以被另一个数据库引擎替换。【参考方案2】:我们已经使用 Borland 的免费命令行工具 C 编译器编译了 SQLite3,并在 Delphi 中使用 $LINK 'OBJS\sqlite3.obj' 链接了生成的 OBJ 文件,并为我们需要的函数编写了 pascal 包装器。
链接时解决一些标准 C 库函数时出现问题,但我们在 Delphi 中重新实现了它们。
【讨论】:
这正是我们对Open Source binding of SQLite3 所做的。所以你有所有the source code at hand - 尤其是纯 Delphi 代码中的标准 C 库等价物(这不是那么明显)。【参考方案3】:我遇到了同样的问题,这是我想出的解决方案。也许它可以帮助你。只需包含 sqlite3,然后您就可以直接访问 dll 函数。我使用了已经概述的相同方法: http://simvector.com/download/delphi_sqlite3.zip
DLL 只是以源代码形式编码,DLLLoader 单元在运行时加载它。最终结果是您的发行版中没有额外的 DLL,其代价是所有内容一次加载到内存中,而不是通过操作系统按需加载的部分。
我们需要它正常工作,但发行版中没有额外的 dll。所以可以满足我们的需求。
【讨论】:
这似乎是一个有趣的解决方案。我认为这是对 DISqlite 的青睐解决方案 是的,我在我的代码库中使用这种方法已经有一段时间了,效果很好。 我认为将 sqlite dll 保存到资源中并加载到 dll 加载器中应该是要走的路。我从不知道我们可以从内存流中加载 dll。感谢您向我展示示例。 我刚刚找到了这个网站:synopse.info/fossil/wiki?name=SQLite3+Framework 据我所知,我认为它已被翻译成 Delphi。如果是这样,那么我们不再需要通过这些额外的箍。 原来的zip文件已经不在线了。有一个关于如何将 DLL 从资源加载到 TMemoryStream 中然后直接使用它而不将其写入磁盘的指南:delphi.about.com/od/windowsshellapi/a/…【参考方案4】:Anydac SQLite 驱动程序具有静态链接的 SQLite 引擎。不过,它是商业图书馆。他们有一个关于 anydac 和 sqlite 的article。
【讨论】:
【参考方案5】:Delphi 可以链接 .obj 文件,因此如果您有它们可用(或编译它们的源代码),您可以将它们链接到可执行文件中。但是你不能用 SQLLite dll 来做到这一点。
IIRC DISQLite 3 正是这样做的,检查一下。
【讨论】:
说起来很容易,但做起来往往很难。您通常还需要提供 C 运行时函数,并且对于可能是一项糟糕的工作的大型库。另外,在链接 .obj 文件时,您必须处理奇怪的排序问题:***.com/questions/4638186/…【参考方案6】:您可以下载 SQLite 开源并将其编译到任何可以编译 vanilla C 代码的环境中。这不是特别难。
【讨论】:
以上是关于delphi可以嵌入exe吗的主要内容,如果未能解决你的问题,请参考以下文章