線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3111
推到 Plurk!
推到 Facebook!

想請問有那些方式可以將 Delphi 6 的專案, 建置為 64 bits 目的碼?

尚未結案
jasper
一般會員


發表:2
回覆:3
積分:1
註冊:2005-08-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-02-10 15:34:29 IP:211.23.xxx.xxx 訂閱

<!--[if gte mso 9]><xml> Normal 0 0 2 false false false MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><xml> </xml><![endif]--><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:表格內文; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> 各位前輩您好小弟目前需要將手邊一些程式用以針對一些環境下應用軟體的撰寫轉成以便能在的環境下運作經查詢http://edn.embarcadero.com/article/39934網頁發現最快也要才有版本由於客戶的壓力實在等不到那個時間點當然查資料的過程中也看到不少人的抱怨例如http://delphihaters.blogspot.com/2010/01/64-bit-office-is-coming-to-town-delphi.html 網路上有找到這個軟體http://wiki.freepascal.org/ )可以產生的目的碼目前剛下載來測試不知各位是否有移轉至該軟體的經驗或者採用其它的方式產生的目的碼可以分享供小弟參考感激不盡謝謝.

P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-02-11 00:00:45 IP:118.169.xxx.xxx 未訂閱
其實大家都有X64的壓力, 我們以DELPHI5開發的程式, 實測結果在WIN7 X64下一樣可以正常運作, 並非有做任何調整, 或者修正WIN7下提供可以相容模式的作業或者VM模式, 而是直接把DELPHI5編譯好的程式丟到WIN7 上跑, 這是我的經驗提供你參考!
但要注意的是, 如果是使用BDE做為資料庫的引擎, Delphi內建的bde是16位元, 無法安裝在64位元的電腦, 必須找到適用32位元以上的bde安裝系統, 還有Delphi5的Install包裝程式(Delphi6我不清楚)也是無法在x64下執行的, 所以我都是用Delphi2007重新封包我的Delphi5程式, 利用Delphi2007的installshield 來安裝到win7 x64上, 到目前客戶執行的狀況一切都很順, 沒有大問題!
jasper
一般會員


發表:2
回覆:3
積分:1
註冊:2005-08-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-02-11 09:45:25 IP:211.23.xxx.xxx 訂閱

謝謝版主在深夜撥空回覆小弟的問題.

如果是一般資料庫應用的 .exe, 依版主分享的資料, 應可運作. 只是小弟遇到的是 hook 的程式, 在 Winddows 7 的世界裡, 應用程式有不同的行程種類 (例如: Office 2010 就有 32 bits or 64 bits, 不能強制客戶只能用 32 bits 的 ...; 可以由 工作管理員 辨視, 若為 32 bits 行程, 會有 * 32 的標記).

global hook 的程式, 在 32 bits 的行程裡, 必須載入 32 bits 的 dll (以 Windows 7 而言, 必須放在 Windows\SysWOW64 資料夾下); 在 64 bits 的行程裡, 必須載入 64 bits 的 dll (以 Windows 7 而言, 必須放在 Windows\System32 資料夾下). 若在 64 bits 行程裡, 載入 32 bits 的 dll, 應用程式會掛掉 ..., 因為以 integer 資料型態而言, 32 bits 與 64 bits 的長度就不同

再次謝謝版主分享的資料 ^^
sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-02-12 11:39:05 IP:114.35.xxx.xxx 訂閱
您可以參考一下 Lazarus
http://www.lazarus.freepascal.org/

有 x64 版本
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
jasper
一般會員


發表:2
回覆:3
積分:1
註冊:2005-08-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2011-02-14 13:43:13 IP:211.23.xxx.xxx 訂閱

謝謝 sryang 兄提供的訊息.
正在 study Lazarus 與 Free Pascal 中 ...


cancer
高階會員


發表:58
回覆:319
積分:190
註冊:2004-07-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2011-03-10 10:04:20 IP:211.75.xxx.xxx 未訂閱
Delphi 昇級到 XE 版的講座就是講這個。
http://delphi.ktop.com.tw/board.php?cid=32&fid=107&tid=102165
sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#7 引用回覆 回覆 發表時間:2011-03-10 10:16:30 IP:220.228.xxx.xxx 訂閱
Delphi XE 還不支援編譯成 x64,可能要下一個版本才可以
目前 Pascal 及 Object Pascal 的編譯器中,僅有 Free Pascal 以及 GNU Pascal 可以支援編譯成 x64
而 Lazarus IDE 底下呼叫的編譯器,就是 Free Pascal
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
編輯記錄
sryang 重新編輯於 2011-03-09 19:25:41, 註解 無‧
jasper
一般會員


發表:2
回覆:3
積分:1
註冊:2005-08-04

發送簡訊給我
#8 引用回覆 回覆 發表時間:2011-03-10 14:47:18 IP:211.23.xxx.xxx 訂閱

謝謝大家的幫忙.

這段期間, 由於在忙其它的專案, 這個 x64 的部份就先擱下了.

有安裝過 Lazarus 去建置程式過, 但一建置就發生一些錯誤. 看來並不容易作轉換.

例如: 方法的參數名稱, 不可以含有 ClassName 這個變數, 依 complier 的訊息說明, 是跟 SYSTEM 這個 unit 的定義衝突. 但 Delphi 6 不會有這個錯誤. 錯誤訊息如下:
..\Utility\FindWindowUtility.pas(63,59) Error: Duplicate identifier "ClassName"
..\Utility\FindWindowUtility.pas(63,59) Hint: Identifier already defined in unit SYSTEM at line 199
[code delphi]
//==========================================================================
//尋找 child window handle,classname 必需符合 className 參數,符合條件再呼叫 FindWindProc
//==========================================================================
class function GetChildWindowWithClass(ParentWnd:HWND;CassName:string;FindWindProc:TFindWndHwndProc):HWND;overload;
[/code]

公司考量 Lazarus 為 Shareware, 故萬一後續真的發生問題, 可能會很麻煩; 且必須調整程式, 要花不少力氣, 與原來的 Delphi 是否能相容也在未定之天.

所以目前可能會改用 Microsoft Visual Studio 2010 的 C 重寫必須轉為 x64 的部份程式.

期盼 Delphi 的原廠能夠加油, 不然真的只能改用其它開發工具了 ...

系統時間:2024-04-24 7:57:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!