2011-11-19 100 views
1

這或多或少是一個學術界的問題,以幫助我更好地理解這個過程......並不是一個要求弄清楚如何解決二進制兼容問題,所以不需要解釋爲什麼我不應該嘗試這:))規避vb6二進制兼容性

比方說,我創建並編譯一個vb6中沒有公共成員的DLL。實際上,我認爲它可能不允許你編譯沒有至少一個,所以我們說我們創建一個單一的公共方法,但它只是在那裏,以便DLL將編譯,否則我們會忽略它。

現在說我設置項目兼容性這個DLL,我永遠不會在任何情況下更新此DLL或將兼容性更改爲更新版本的DLL。

在這種情況下,我認爲vb6永遠不會拋出那些破壞兼容性錯誤消息,並且在每次編譯時都會繼續對dll使用相同的UUID,即使您真的打破了兼容性。

但是,我認爲爲您在該dll中創建的類生成的值每次都會發生更改。即使你沒有編譯該dll的兼容性問題,你仍然會遇到兼容性問題的項目引用此dll。

這聽起來有關的權利?

+0

涉及_actual_,_practical_編程問題的問題完全在這裏。純粹的學術問題不適合我們的問答格式。 –

+0

@TimPost哦,它絕對涉及實際的,實際的編程問題,而這根本不是一個「純粹」的學術問題。我說這或多或少是一個學術問題,以防止人們說「哦,這不是一個好主意,不要這樣做。」我從你這樣的人那裏得到的消息是,以一種明確的方式構建我的問題,這將引出最好的答案,這與確保你沒有看到像「學術界」這樣錯誤的流行詞一樣重要。 –

+0

@TimPost感謝您抽出時間來解釋您的推理。 –

回答

1

我認爲你的邏輯是正確的。儘管你可能只是使用項目兼容性?

我不知道你爲什麼想要這個,但你確實說這是一個學術問題!

+0

同意。當我開始工作在我目前的工作中時,我創建了一個新控件,當有人改變它時,我們總是遇到兼容性問題。我並沒有負責構建,但我注意到,在發佈新版本時沒有更新兼容性DLL的過程。所以我只是爲自己證實這是背後的原因。 (我已經正確設置了這個過程) –