我有一个Delphi Win32程序。我想通过Python模块以某种方式“暴露”应用程序结构和过程。例如。模块my_api
必须为我的应用程序结构/方法公开公共项目。该模块必须“坐”在内存中。
然后我想在同一个应用程序中调用Python脚本(使用Python dll),它可以导入my_api
并调用我的app方法。
怎么做。
答案 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