我的环境是delphi7和Python2.6.6,安装了python for delphi。
但是当我运行一个测试应用程序时,我得到了一个运行时错误。
Microsoft Visual C++ Runtime Library
Runtime Error!
program:E:\programming\delphi\p4dtest\dd\project1.exe
This application has requeste, the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
测试.py:
import ctypes
print 'hello'
德尔福应用程序主要:
procedure TForm1.Button1Click(Sender: TObject);
begin
PyExeFile('test.py', PE);
end;
如果我删除“import ctypes”行,它运行正常,但如果导入 ctypes,它会失败。
我用谷歌搜索并发现了一个问题: http ://code.google.com/p/python4delphi/wiki/P4DPython26 。
根据文章,我编译res文件并将res文件和Microsoft.VC90.CRT.manifest甚至msvcr90.dll放在项目文件夹中,在项目文件中添加XP_UAC.RES,但我仍然得到错误。然后我重新安装了 Microsoft Visual C++ 2008 SP1 Redistributable Package,但似乎没有问题。有人在python2.6下成功使用过P4D吗,请告诉我怎么做。
==================================
现在我通过阅读官网的问题自己解决了这个问题P4D:
1、In the pythonengine property tab
keep set “UseLastKnownVersion” to True
keep set "DLLName" to python26
2、on your PythonEngine component and adjust your define:
{$DEFINE PYTHON26}
which you can do in the project options of Delphi 7.
Just add PYTHON26 to the "conditional defines" dialog box.
顺便说一句,我的问题并不是要混淆大家,如果是的话,我很抱歉,所以如果你没有自己尝试,请不要随意投入别人的问题。