iT邦幫忙

0

delphi gui + C# 要怎麼合成一個exe檔案呢?

  • 分享至 

  • xImage

小弟最近接到一個要求是這樣,要把某一古老專案去進行修改。
那個專案的GUI介面是由delphi所做成--這還好雖然沒看過,但我稍微翻個文件簡單修一下"應該"沒有問題。
裡面的執行程式是由C#所做成--這部分我也沒問題。
但最後一步困擾了我,就是該怎麼把兩者結何在一起變成exe輸出呢?


然後因為對delphi真的不熟,順便問一下正常編輯delphi的編譯器是什麼?
個人目前是用vsc打開並修改。
裡面有幾個副檔名
dfm應該是用來設定樣式的跟css一樣?
pas則是用來設置一些function跟javascript的用途一樣?
可是dpr跟dproj呢?是要用特定的編譯器開啟嗎?打開後裡面就像是平常用xml設定一堆參數用的東西,但具體用途目前還言就不太明白,希望有大神可以解答一下...


更新:
嘗試中

player iT邦大師 1 級 ‧ 2022-02-04 17:41:35 檢舉
接case時,要記得先評估啦。
delphi的第三方套件都死得很快(沒有後續版本),
如果 code有缺的話,會玩死你的。
https://www.embarcadero.com/products/delphi
tryit iT邦研究生 4 級 ‧ 2022-02-05 03:09:01 檢舉
感謝
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
rogeryao
iT邦超人 8 級 ‧ 2022-02-03 22:05:40
最佳解答

1.Delphi 不同版本會有相容性問題
2.若原專案開發者有內崁 3rd 的 VCL 物件,那就有得玩了
3."裡面的執行程式是由C#所做成"有點奇怪,基本上應是 Pascal 語法,不然編譯就會出錯;
你看到的 C# 比較像是 Pascal call 外部的 C#
4.Delphi 原本即是一套優異的系統開發工具,不宜依照副檔名分割而試圖一一擊破,那可能要付出數倍的時間成本,最後無法收拾。

建議作法 :
A.使用原開發者的環境(Delphi 相同版本含 Update + 3rd 的 VCL 物件)開啟 Source Code
B.了解原系統邏輯後再用 C# 重寫

"但最後一步困擾了我,就是該怎麼把兩者結何在一起變成exe輸出呢?"
....我也很想知道要用啥工具來編譯

1
Samuel
iT邦好手 1 級 ‧ 2022-02-03 09:45:33

如果你學過也會C#還有Windows Form
可以將關係映射理解成

C# -> Windows Form
Pascal -> Delphi

Delphi底層就是用Pascal這套程式語言然後再去延伸出的一套寫桌面端應用
有點類似一個桌面端應用框架
Delphi IDE本身有自己一套就叫Delphi
副檔名.dpr ->Delphi Project檔案縮寫
Delphi (1)_Δελφοί太陽神住的地方_IDE基礎操作_程式檔案架構
https://coolmandiary.blogspot.com/2019/05/delphi-1ide.html

1
海綿寶寶
iT邦大神 1 級 ‧ 2022-02-03 10:10:13

編譯 Delphi 請用Embarcadero

請 Google Delphi call C#

總之一句話
https://ithelp.ithome.com.tw/upload/images/20220203/20001787cVmMRnxOej.png

3
sx0800
iT邦新手 1 級 ‧ 2022-02-04 10:58:49

我的想法是 C# 做成 dll ,delphi 再去 call dll 。
要注意若是 borland 年代的 delphi 就會是win32 的還不支援 utf-8,C# 編譯時要留意參數。

我要發表回答

立即登入回答