Delphi 程序直接调用 Python 的函数

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

在本系列的第一篇博客文章: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
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值