我应该如何在Python的C++ Builder/Delphi 2010应用程序中嵌入Python?

Dav*_*vid 7 python embed delphi c++builder c++builder-2010

我有兴趣尝试在我的应用程序中嵌入Python,让用户在应用程序环境中运行Python脚本,访问内部(C++实现的)对象等.我对此很新,所以不知道到底是什么我正在做.

我已经阅读了在另一个应用程序中嵌入Python,虽然这似乎只涉及C API和平面C函数,而不是类或对象(除非我遗漏了一些东西),它的"在C++中嵌入Python"一节只有两句话.但是,我也遇到过如何使用boost :: python这看起来很棒.

有一个问题:C++ Builder 2010不支持 boost :: python .

因此,考虑到这一点,在使用C++ Builder 2010编译的C++应用程序中嵌入Python的最佳方法是什么,并且使用最好的技术,如何公开/集成类和对象以使Python编码器能够访问对象 -面向程序的内部? 我错过了标准方法吗?将内部类或实例化对象作为对象简单地暴露给Python,或者API是真正的C风格还是平面/非OO,如果是这样,通过这样的API模拟底层OO层的最佳方法是什么?

注意:我实际上使用的是RAD Studio,它包括C++ Builder和Delphi.有可能使用某种特定于Delphi的绑定,但我遇到的是六七年,或者是新的(Python 2.6),但似乎没有任何文档,并且问题列表中的评论如"任何人都在阅读thiese [sic]评论?是否有人参与此项目?"这并不令人鼓舞.但请随意添加特定于Delphi的答案,特别是如果您认为它们可能会在组合的D + CB应用程序中运行.我很欣赏所有答案,即使它们不是很完美 - 我可以研究,我只需要指点去哪里.但是,原生C++解决方案可能是理想的,因为使用VCL派生的对象有其自身的局限性.

感谢您的输入!

Cal*_*ngh 8

你不应该害怕谷歌团体的P4D项目.它似乎不活跃,因为在某种程度上它已经非常稳定和功能齐全.这些组件用于更活跃的PyScripter应用程序,这是目前可用的最好的python开发编辑器之一.PyScripter是用Delphi编写的,使用P4D组件.因此,它还提供了一个非常全面的示例,说明如何使用P4D组件,尽管提供P4D源检查的示例已经足够好开始了.