2010-04-28 77 views
1

我想對VB6應用程序進行更改,該應用程序包含.EXE,沒有VB6 DLL但有少量.NET DLL。如何使用.NET組件升級VB6應用程序

互操作是由VB6應用程序引用的一個.NET dll實現的,它似乎需要REGASM-ing關聯的.tlb文件。

如果我只想更改VB6應用程序.exe,我可以編譯它並將其放到現有安裝的應用程序文件夾中,還是會出現綁定問題?

+0

如果tlb文件是從VB6項目引用的,那麼應該工作。恕我直言,這是一種問題,當最快的答案可以通過試驗和錯誤:) – Arvo 2010-04-28 06:45:16

回答

0

當您使用此方法重新使用時,請務必使用/ codebase,以便應用程序可以與DLL(s)位於同一文件夾中。

作爲一個便箋,您可能希望實際上指定您的Dll的方法的DispID,以便如果您更改您的Dll,則不需要更改您的應用程序(如果您導致按字母順序重新排序方法名稱)通過添加一個新的方法。

+0

DispID是否允許您重新編譯該DLL但不必更改.tlb文件?它是如何工作的? – CJ7 2010-04-28 07:11:41

+0

這是正確的,你需要明確地設置一個接口,但是你可以改變你的DLL(內部實現,而不是方法簽名),而不需要重新編譯你的VB6應用程序,因爲TLB不會改變。我有一個[例子](http://stackoverflow.com/questions/851501/handling-vb-net-events-in-vb6-code/1010085#1010085),我前一段時間回答。 – 2010-04-28 22:57:45

相關問題