Question

Mon environnement est Delphi7 et Python2.6.6, python pour delphi installé.

Mais quand je lance une application de test, je suis une erreur d'exécution.

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.

test.py:

import ctypes
print 'hello'

delphi application principale:

procedure TForm1.Button1Click(Sender: TObject);
begin
      PyExeFile('test.py', PE);    
end;

Il fonctionne ok si je retire la ligne « ctypes à l'importation », mais a échoué si ctypes est importé.

Je googlé et trouvé un problème à ce sujet: http://code.google.com/p/python4delphi/wiki/P4DPython26 .

Selon l'article, je compile le fichier res et placez le fichier res et Microsoft.VC90.CRT.manifest même msvcr90.dll dans le dossier de projet, ajoutez XP_UAC.RES dans le fichier de projet, mais j'ai toujours l'erreur . Ensuite, je l'ai réinstallé Microsoft Visual C ++ 2008 SP1 package redistribuable, mais il ne semble pas le problème. Quelqu'un at-il utilisé le P4D sous python2.6 avec succès, s'il vous plaît me dire comment je peux le faire.

==================================
Maintenant, je l'ai résolu le ploblem par moi-même en lisant les questions sur le site officiel de 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.

Par ailleurs, je ne veux pas confondre tout le monde de ma question, si elle le fait, je suis désolé pour ça, alors s'il vous plaît ne pas consacrer à la question des autres de manière arbitraire si vous ne l'avez pas essayé par vous-même.

Était-ce utile?

La solution

Peut-être que je did't décrire ma question clairement. Maintenant, je l'ai résolu le ploblem par moi-même en lisant les questions sur le site officiel de 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  

Autres conseils

J'ai essayé la solution de babykick , mais continué à obtenir le message d'erreur: ne peut pas charger python25.dll

Ce qui suit a fonctionné pour moi. (Delphi7, Python26, les fenêtres de la sp3)

Ouvrez l'onglet propriété TPythonEngine et appliquer la modifications suivantes

  • DllName: python26.dll
  • DllPath: c: \ windows \ system32 \
  • UseLastknownVersion: false
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top