在winform中使用COM组件时出错

本文关键字:组件 出错 COM winform | 更新日期: 2023-09-27 18:06:16

我正在c# .net 4上构建一个Winform应用程序。我试图使用VLC插件作为工具箱COM组件。组件已成功添加到工具箱中。但是,当我使用它时,有一个错误:

创建组件"AxHost"失败。错误信息如下:"System.Runtime.InteropServices.COMException (0 x80029c4a):错误加载类型库/DLL。(来自HRESULT的例外:0 x80029c4a (TYPE_E_CANTLOADLIBRARY)

我在32位系统上尝试了同样的操作,它工作得很好。这个错误发生在64位系统中。尝试将构建更改为32位和64位。

我还尝试使用regserv32注册DLL。但是我不确定我是否注册了正确的DLL。

如何解决这个问题?

在winform中使用COM组件时出错

版本2。VLC的x版本不是托管代码友好的,除非它被重新编译以作为可执行服务器共享和运行(以及其他问题)。与其重新构建插件,不如使用稍微旧一点的插件。

  1. 下载v1.1.9在这里:http://download.videolan.org/pub/videolan/vlc/1.1.9/win32/
  2. 我建议卸载现有的VLC,然后安装上面的VLC(带有activeX选项)。
  3. 使用CMD和Regsvr32和activeX文件夹注册控件(AXVLC.DLL),如下:Regsvr32 C:'WINDOWS'AXVLC.DLL

要记住的几个技巧:

  1. 如果有播放错误,您可能无法访问库。它们在插件文件夹中。我相信你可以把文件夹复制到activeX文件夹。
  2. 我听说你还需要复制libVLC.dll到同一个文件夹。
  3. 播放媒体文件前,需要先添加到播放列表中。

发现这个旧线程,因为现在是2018年5月,我仍然遇到这个问题。事实证明,因为我安装了64位版本的VLC,它无法工作。需要安装32位的3.02版本activex才能工作