2011-06-02 90 views
2

我們在我們的bin文件夾中有一個用delphi編寫的COM DLL,它調用system32文件夾(也是delphi中的COM)中的2個靜態DLL。如何建立一個與COM類互操作(用delphi編寫)

我的問題是,我們該如何將delphi中的dll轉換爲interop dll?或者有沒有更好的方法來做到這一點?

謝謝!

+2

除非在接口中使用特定於Delphi的類型,否則根本不應該「轉換」DLL。否則,它應該按原樣工作;你只需要在.NET端編寫正確的互操作代碼。 (如果這是你的意思,你會介意編輯你的問題以求清楚嗎?) – 2011-06-02 16:06:39

回答

2

.net消耗COM對象很容易。不需要interop,只需導入類型庫,然後離開!

MSDN擁有全面的tutorial

+0

+1教程鏈接 – 2011-06-02 18:22:18

+0

請注意,在Delphi方面不能理解一些DotNet類型(至少'struct')。 Delphi還沒有處理VT_RECORD類型。你應該依賴像Delphi'string double integer'這樣的低級類型。 – 2011-06-03 05:56:06

2

@David:我認爲dotNET中的導入最終使用InterOp。也就是說,只要所有的COM接口協議都受到尊重,Delphi COM對象就像一個C++ ATL對象一樣。

Andrea

+0

應該可能是對大衛答案的評論,而不是一個新的答案。 – 2011-06-03 10:52:38

+0

我同意,但我沒有要點這樣做,這同樣適用於我已刪除的其他答案。沒有人費心去檢查我寫作的時候有多少點! – 2011-06-03 11:59:56

+0

我忘了你需要50分才能添加評論。 – 2011-06-04 10:30:42