Delphi4 Python
我想在这里使用Delphi4 Python组件 但我不想将组件放到表单上,我希望所有内容都在代码中,我的代码如下所示:Delphi4 Python,python,delphi,Python,Delphi,我想在这里使用Delphi4 Python组件 但我不想将组件放到表单上,我希望所有内容都在代码中,我的代码如下所示: var PythonEngine_netA: TPythonEngine; PythonInputOutput_netA: TPythonInputOutput; begin PythonEngine_netA := TPythonEngine.Create(Self); PythonInputOutput_netA := TPythonInputOutput
var
PythonEngine_netA: TPythonEngine;
PythonInputOutput_netA: TPythonInputOutput;
begin
PythonEngine_netA := TPythonEngine.Create(Self);
PythonInputOutput_netA := TPythonInputOutput.Create(Self);
try
/// configure the components
PythonEngine_netA.DllName:='python39.dll';
PythonEngine_netA.IO := PythonInputOutput_netA;
PythonEngine_netA.UseLastKnownVersion := True;
PythonInputOutput_netA.OnSendUniData := PythonInputOutput_SendUniData;
PythonInputOutput_netA.UnicodeIO := True;
PythonInputOutput_netA.RawOutput := True;
/// execute the script
PythonEngine_netA.ExecString(UTF8Encode(mmo_pythoncode.text));
finally
PythonEngine_netA.free;
PythonInputOutput_netA.free;
end;
执行此代码失败,错误消息:“Python未正确初始化”,
使用此代码时我错过了什么?快速查看一下(或者更好:始终搜索所有文件以查找错误消息返回的位置和原因)就会发现您错过了调用PythonEngine\u netA.Initialize()
另请注意,它描述了:
演示34动态创建、销毁和重新创建Python引擎。使用Python转换
因此,请看一看它是如何(几乎)在没有组件的情况下完成的。或者总体上运行整个项目,最好是在调试模式下单步执行,以了解哪个方法起作用。添加这行代码,但现在调用时会出现AV错误:PythonEngine_netA.Initialize()命令通过该方法调试和单步执行如何?错误发生在程序TPythonEngine.AssignPyFlags;已经添加了此代码,但没有成功:PythonFlags\u netA:TPythonFlags;开始。。尝试///配置组件///PythonFlags\u netA:=[]。。。PythonEngine_netA.PyFlags:=PythonFlags_netA;这种方法在哪里
Py_DebugFlag
是一个指针,在TPythonInterface.MapDll
中设置-该方法在TPythonInterface.AfterLoad
中调用。由于TPythonEngine
继承自TPythonInterface
调用PythonInputOutput\u netA.AfterLoad()
。还可以编辑您的问题,并在评论中使用代码格式。