2015-01-22 2 views
0

Надеюсь, вы могли бы помочь мне с этой проблемой. Я поддерживаю существующее приложение. Проблема заключается в использовании dll CGZip.dll для распаковки архивных папок. Я скачал DLL из сети и пытался добавить его в качестве ссылки, но получил эту ошибку:Ссылка на CGZip.dll, но объекты класса по-прежнему не определены

A Reference to '../CGZip.dll' could not be added. Please make sure that file is accessible and that it is a valid assembly or COM component.

Может кто-нибудь пожалуйста, помогите мне в правильном направлении? Спасибо.

ОБНОВЛЕНИЕ: ОК Итак, я узнал, что эта проблема связана с тем, что вы сначала должны зарегистрировать dll в System32. Таким образом, я зарегистрировал обе библиотеки dll и больше не получал ошибку при запуске.

Но когда она попадает этот блок кода:

Dim oUnZip As New CGZipLibrary.CGUnzipFiles 

Он отображает эту ошибку:

Retrieving the COM class factory for component with CLSID {293364AE-43F8-11D3-BC2D-4000000A2806} failed due to the following error: 80040154.

+0

Итак, мои предположения были неправильными. Следующий вопрос: работаете ли вы с VB6 или VB.NET. VB6 ist строго 32bit, в то время как VB.NET позволяет 32 и 64 бит. И тогда вы должны зарегистрировать правильный OCX. Когда вы находитесь на 64-битной Windows, и вы зарегистрировали 32-разрядный OCX, это не сработает, если вы не установили тип cpu на «x86». –

+0

. Вы также получили файлы zip32.dll и unzip32.dll, которые обертывают CGZipLibrary ? – jac

+0

@ThomasKrojer Спасибо !!! Твой мой Бог. Не могу поверить, я ударил 32 <> 64 стены. Я видел эту проблему слишком много раз, чтобы ее обманули. Но спасибо человеку. Пожалуйста, добавьте это как ответ, чтобы я мог согласиться :) – TheProvost

ответ

1
  • сделал комментарий ответить -

Хорошо, тогда мои предположения были неправильно. Следующий вопрос: работаете ли вы с VB6 или VB.NET. VB6 ist строго 32bit, в то время как VB.NET позволяет 32 и 64 бит. И тогда вы должны зарегистрировать правильный OCX. Когда вы находитесь на 64-битной Windows, и вы зарегистрировали 32-разрядный OCX, это не сработает, если вы не установите тип процессора в «x86»

+0

Спасибо, что спасли мне часы работы :) – TheProvost

Смежные вопросы