在本系列的第一篇博客文章:Delphi 程序员初学 Python 笔记-优快云博客
在这篇文章里面,我提到,一个 Python 的函数,我用 Delphi 无法直接调用它,所以我对它做了一个 Python 的包装。原因是,那是我第一次学习使用 Python4Delphi 这个控件。那时候要执行 Python 代码,我只会使用 PythonEngine1.ExecStrings(Python代码) 这样的方式。这样做,就是在 Delphi 的程序里面,加载了 Python 的环境,并在这个环境里面去执行了代码里面的可执行的部分。但如果代码里面有函数,而这个函数并没有 Python 代码去调用它,Python 环境里面也无法执行这个函数。
因此,如果 Delphi 的代码想要调用这个 Python 的函数,就需要使用一个 Python 的代码去调用这个函数,而 Delphi 仅仅是需要从这个调用函数的代码里面获得计算结果的返回值。
但是,在 Python4Delphi 的框架里面,使用 Delphi 的代码是可以直接去调用一个 Python 的函数的。为此我自己写了一个程序做一下测试。
测试用的 Python 代码:
def DoAddParams(a, b):
return a + b + 3
调用这个 Python 代码的 Delphi 代码:
uses VarPyth;
procedure TForm2.Button1Click(Sender: TObject);
var
OldControlWord: Word;
begin
PythonEngine1.ExecStrings(Memo

本文讲述了Delphi程序员如何通过Python4Delphi框架调用Python函数,介绍了使用PythonEngine1加载Python环境并间接调用Python函数的过程,特别强调了无需预先声明即可动态调用Python函数的特性,以及可能涉及的数据类型转换问题。
最低0.47元/天 解锁文章
2284

被折叠的 条评论
为什么被折叠?



