rho*_*ody 5 delphi python4delphi
使用Python4Delphi,将Delphi方法暴露给Python非常简单,以便Python可以调用Delphi应用程序.但是我无法将由Delphi方法创建的Python列表返回给Python.例如:
function TDelphiAPI.callMethod : PPyObject;
begin
// Create a new empty list of three elements
result := GetPythonEngine.PyList_New(3);
end;
import mylib
p = mylib.DelphiAPI()
print p.callmethod()
Run Code Online (Sandbox Code Playgroud)
从Python调用时返回'NoneType'.如果将PPyObject更改为诸如整数,AnsiString或double之类的类型,则Python会选择正确的类型并正确显示它.我用
GetPythonEngine.AddMethod ('callMethod', @TDelphiAPI.callMethod, 'callMmethod)');
Run Code Online (Sandbox Code Playgroud)
从Delphi公开方法.但是,据我所知,没有办法为参数或返回类型指定类型.
我想知道是否有人从delphi python类型返回,如列表甚至numpy数组?
普通的 Python 数组(对于标准 CPython)通常称为“列表”。Python 中的 numpy.array 类型(或可变列表)是一种特殊类型,它比普通 Py 浮点对象的普通 Python 列表具有更高的内存和布局效率。如果您想使用 Delphi 并访问 Numpy.array 或列表,我认为最直接的方法是实现导出一些访问 Numpy.array 类型的简单 C 函数的方法。
Numpy.array 包装了作为本机 C 数组类型访问的标准内存块。这反过来又不能完全映射到由 Delphi 方法创建的 Delphi 数组类型到 Python。
| 归档时间: |
|
| 查看次数: |
370 次 |
| 最近记录: |