3

我有一个 Delphi Win32 程序。我想通过 Python 模块以某种方式“公开”应用程序结构和过程。例如,模块my_api必须为我的应用程序结构/方法公开公共项目。该模块必须仅“位于”内存中。

然后我想在同一个应用程序中调用可以导入my_api和调用我的应用程序方法的 Python 脚本(使用 Python dll)。怎么做。

4

2 回答 2

3

您在这里要求两件事,这通常是一起发生的。

首先,您想要扩展Python 解释器,添加 Python 代码可以使用的类型和函数等。

其次,您希望在您的应用程序中嵌入Python 解释器,以便它可以运行 Python 脚本(可以使用您的扩展模块)。

假设您想使用 CPython(通常的 Python 解释器),教程扩展和嵌入 Python 解释器是文档的一部分。

您可能希望查看有助于使扩展方面更容易的其他选项 - 例如,您可以使用 Cython 用接近 Python 的语言而不是 C 来编写桥接代码,或者使用 Boost.Python 用漂亮的 C++ 编写它,这需要为您处理大部分样板文件,或者 SWIG 尝试自动生成它,或者ctypes避免首先编写桥接器。但值得首先学习底层机制。

于 2013-07-11T22:34:25.833 回答
2

您现在可能已经听说过 Python 4 Delphi,如果您还没有,可以在此处查找。https://code.google.com/p/python4delphi/。互联网上有很多教程,例如http://www.atug.com/andypatterns/pythonDelphiTalk.htm

于 2015-03-14T19:09:42.603 回答