Delphi或C代码与Python脚本之间的桥梁

时间:2013-07-11 21:56:07

标签: python

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

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

2 个答案:

答案 0 :(得分:3)

你在这里要求两件事,这些事情经常在一起。

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

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

假设你想使用CPython(通常的Python解释器),教程Extending and Embedding the Python Interpreter是文档的一部分。

您可能希望查看有助于扩展方面更容易的其他选项 - 例如,您可以使用Cython以近Python语言而不是C语言编写桥接代码,或者使用Boost.Python将其编写为nice C ++为您提供大部分样板,或者SWIG尝试自动生成它,或者ctypes以避免首先编写桥。但首先要了解潜在的机制。

答案 1 :(得分:2)

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