













procedure TForm1.PassValuesToPython; var PyValue: PPyObject; // Python 对象指针 begin PythonEngine1.LoadDll; // 【第1段】创建 Python 整数 PyValue := PythonEngine1.PyLong_FromLong(42); // 【第2段】将变量注入 Python 全局命名空间 PythonEngine1.PyDict_SetItemString( PythonEngine1.GetMainModule.__dict__, 'delphi_number', PyValue ); // 【第3段】在 Python 中使用这个变量 PythonEngine1.ExecString('print(f"Delphi传来的数字: {delphi_number}")'); // 【第4段】释放 Python 对象(重要!防止内存泄漏) PythonEngine1.Py_DecRef(PyValue); end;
关键概念解释:
PPyObject - Python 对象的 C 指针,所有 Python 数据都是这种类型
PyLong_FromLong() - 将 Delphi 整数转为 Python 整数
GetMainModule.__dict__ - Python 的全局变量字典
Py_DecRef() - 必须调用,减少引用计数,否则内存泄漏
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。