国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

python4delphi安裝

2019-11-14 17:02:52
字體:
來源:轉載
供稿:網友

環境搭建:

目前p4d已經可以支持到XE7,可惜googlecode即將關閉,不知道作者是否會在github上繼續更新。

因為此開源項目歷史較久遠,拿到源代碼后可能還需要手動修改相關的文件引用,畢竟需要兼顧低版本的delphi。

step1.安裝 python4delphi

1、首先是組件安裝,打開對應版本的Python_??.dpk ,編譯修改引用,XE后很多單元帶VCL 和FMX的前綴了,需要手工指定,

     編譯成功后,選擇release模式下 安裝

2、在我們的項目中添加搜索路徑:xxxxx/python4delphi/Components/Sources/Core

3、在系統盤中的system32或者sysWOW64中找到python27.dll放在程序輸出目錄中

Step2.  將 P4D 的定義文件加到 PRoject.dpr
----------------------------
在Delphi project.dpr, 在uses之前,加上{$I Definition.Inc}
----------------------------
Step3. 使用pythonengince 等組件
----------------------------
設置 pythonengince 組件的屬性.
   UseLastKnownVersion=False
   DLLName='python27'
   DllPath= 'c:/WINDOWS/system32'   
----------------------------
Step4. 發布應用前, 需解決run as administrator問題,
----------------------------
(a)  需要 Microsoft.VC90.CRT 和 Microsoft.Windows.Common-Controls 信息作為資源加到delphi project中, 否則加載python的 c-extensions 模塊會報錯.
(b)創建 XP_UAC.manifest 文件, 內容見后.
(c)創建 XP_UAC.rc 文件, 內容:
1 24 XP_UAC.manifest
其中: 1-代表資源編號,  24-資源類型為 RTMAINIFEST , UAC.manifest為manifest文件名稱
(d)使用delphi的brcc32將 XP_UAC.rc編譯成 XP_UAC.res
命令: brcc32 XP_UAC.rc
(e)在Delphi project.dpr 源碼
     (1)在{$R *.res} 后, 加上 {$R XP_UAC.res}  
=================================
部署python4delphi的應用程序
=================================
方式1. 和開發一樣, 老老實實安裝python以及python的第3方包, 然后你的delphi程序應該就能使用.
方式2. 像dreampie, 將python環境打包, 連同exe一起發布. 有專門的py2exe,cx_freeze等制作工具.   
=================================
XP_UAC.manifest  的內容
=================================
C:/WINDOWS/WinSxS 目錄查找 Windows.Common-Controls 和 Microsoft.VC90.CRT, 如果能找到并且version一致,  只需修改 PyScripter 名字. 如果沒有找到這兩個文件, 需要到微軟官網下載 Microsoft Visual C++ 2008 Redistributable Package, 并對比版本號和publicKeyToken.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
    version="1.0.0.0"
    processorArchitecture="*"
    name="PyScripter"
    type="win32"/>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        processorArchitecture="*"
        publicKeyToken="6595b64144ccf1df"
        language="*"/>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        type="win32"
        name="Microsoft.VC90.CRT"
        version="9.0.21022.8"
        processorArchitecture="x86"
        publicKeyToken="1fc8b3b9a1e18e3b"
        language="*"/>
    </dependentAssembly>
  </dependency>  
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>true</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
</assembly>
=================================
關于PYTHONPATH的設置
=================================
關于PYTHONPATH的設置, 可在 TPythonEngine.OnSysPathInit 事件中, 將我們自己的path加到 PythonPATH 中.
如果代碼中沒有加, 我們需要修改注冊表, 位置是 HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/2.7/PythonPath, 將我們的path加進去.
注意: TPythonEngine.OnPathInitialization 事件, 只有在注冊表沒有定義 PythonPath 才有用, 所以不推薦使用.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大丰市| 富源县| 云林县| 昌都县| 囊谦县| 建始县| 平顶山市| 雅安市| 溧水县| 沁阳市| 黑水县| 西贡区| 屏东县| 阳朔县| 台江县| 东明县| 东山县| 米泉市| 海南省| 阜宁县| 鄯善县| 陇西县| 芜湖县| 松潘县| 米易县| 资源县| 麻栗坡县| 大名县| 环江| 宝坻区| 海淀区| 迁西县| 杭锦旗| 吐鲁番市| 阿克陶县| 长春市| 弋阳县| 雅江县| 弋阳县| 常熟市| 边坝县|