2015-04-24 14 views
0

Я очень отредактировал dll VB6, и когда я попытаюсь скомпилировать его, я получаю уведомление, которое сообщает мне, что эта dll больше не совместима с более старой версией? Я не уверен, как это сделать, изначально, когда я делал небольшие изменения, у меня не возникло проблем с компиляцией новой dll. Я попытался следовать этому руководству, чтобы решить мою проблему: Resetting project compatibility in vb6 Однако, когда я ссылаюсь на dll в своем основном приложении и пытаюсь его скомпилировать, я получаю следующую ошибку: «Ошибка при загрузке dll»Совместимость с VB6 dll?

Я действительно смущен относительно того, что Я должен сделать это для того, чтобы мое приложение осознало, что на dll действительно ссылаются и что я внес изменения в него.

Вот что появляется:

http://i.stack.imgur.com/4w6lU.png

Помощь была бы оценена! Спасибо

ответ

2

Вам необходимо прочитать How To Use Project and Binary Compatibility и другие связанные статьи MS KB, а также части руководств VB6, посвященных этой теме.

Сделайте это, прежде чем идти дальше, чтобы избежать создания стопки сиротских записей в реестре.

Как только у вас есть совместимость с двоичными файлами под управлением, все становится проще. Однако на данный момент вы как бы застряли и должны будете войти в свой проект-клиент и удалить исходную ссылку, а затем добавить новую.

+0

Благодарим вас за ссылку. Я все еще не совсем понимаю, как я могу обновить свою DLL? если он не является более совместимым, я не должен сохранять совместимость, так как многие другие DLL также используют эту DLL? – ChewyMasta

+0

Единственный способ поддерживать двоичную совместимость - это сделать. Это означает, например, что вы не можете изменять подписи членов класса (все свойства, методы и события должны иметь одинаковые аргументы и возвращаемые значения). Вы * можете * добавлять новых членов, а результат - это новый, но двоично-совместимый интерфейс ... обычно. Но иногда это может терпеть неудачу. См. Документацию VB6. – Bob77

+0

См. Https://msdn.microsoft.com/en-us/library/aa241689(v=vs.60).aspx и https://msdn.microsoft.com/en-us/library/aa260637(v=vs .60) .aspx и многие другие статьи, включенные в компакт-диски библиотеки MSDN, которые поставляются со всеми юридическими копиями VB6. – Bob77