问题标签 [ocx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2924 浏览

vb6 - 有没有办法通过 COM 互操作从 Visual Basic 6 activeX dll 传递 OCX 控件引用?

ActiveX dll我在尝试从旧的(但仍然维护的)VB6 exe project(*)源构建一个以便通过COM / NET互操作执行一些测试时偶然发现了这一点。

(所需)用例是:

  1. 使用公共方法获取VB6或返回一些控制(例如CommonDialog)引用的类
  2. 将此类编译为 ActiveX dll
  3. 通过 .NET 中的 COM 互操作创建此类的实例并正确调用其方法

简而言之,第一个问题是有类似的东西

在 Visual Basic 6ActiveX dll的类文件中使编译 (* *) 失败并出现以下错误:

“私有对象模块不能在公共对象模块中用作公共过程的参数或返回类型、公共数据成员或公共用户定义类型的字段”

因此,问题是:

  1. 真的不可能像上面那样编译和运行吗?
  2. [如果不是]假设,我将所有内容更改为返回和接收VB6 Object类型的实例——我如何从 .Net 使用这样的实例(调用特定方法等)

(*) - 不是一个ActiveX exe,只是一个“普通”的

(* *) 前提.ocx是引用了适当的 ("Microsoft Common Dialog Control 6.0 (SP6)", C:\Windows\system32\ComDlg32.OCX)

(* * *) 我发现的唯一一个是将控制引用传递给 dll

0 投票
4 回答
13392 浏览

windows - 如何查看 ocx 文件的接口?

我想查看“.ocx”文件的接口。像这样:

在此处输入图像描述

但是对于一些 .ocx,我只能看到 5 个函数,像这样:

在此处输入图像描述

问题是:我怎样才能看到这些ocx文件的接口。我试过这个:

A.
a) 我想注册它并在 Visual Studio 中查看它。但是当我注册它时,会出现错误“LoadLibrary(path:\filename.ocx) failed”。像这样:

在此处输入图像描述

b)然后我用'Dependency Walker'打开ocx,发现文件依赖没有DLL文件。 在此处输入图像描述

c) 如何注册?

B. 我使用“Dll Export Viewer”,现在我可以看到函数的名称,但仍然无法获取函数的参数。如何获取函数的参数?

0 投票
1 回答
234 浏览

javascript - IE播放资源失败时如何获取WMP插件的错误码?

最近我正在尝试制作一个用于 WMP 疑难解答的网页。我想做的是,如果由于缺少 WMP 编解码器、未能通过 DRM 等问题,访问者无法播放我页面上的资源...等,然后我将向他们展示一些有关如何修复它的信息。我搜索了一个示例,问题是ErrorCodeWMP 对象的属性wmpocx总是出现,因为undefined它确实存在。那么我怎样才能获得 WMP 错误代码在 JSCript 中?

问候

0 投票
6 回答
2037 浏览

com - OCX/COM:某些方法未在 PowerShell 中显示

我有 ActiveX 控件 SetACL.ocx。它已在我的系统上注册,我可以从 C# (Visual Studio 2010) 毫无问题地使用它。Visual Studio 的对象浏览器显示所有方法。

但是,在 PowerShell 中,大约有三分之一的方法没有显示。如果我尝试调用缺少的方法之一,我会得到 MethodNotFound:

关于为什么 PowerShell 没有显示所有可用方法但 Visual Studio 的对象浏览器显示的任何线索?

我尝试了 32 位和 64 位版本的 PowerShell。

更新1:

这是 ODL 文件中缺少的方法之一的签名(是的,我有 OCX 的完整源代码,我是它的作者):

更新 2:

这是OCX 的源代码,可在 sourceforge 上直接浏览。

更新 3:

OCX 可以从 sourceforge 下载。它包含在文件 SetACL 2.2.0.zip 中。

更新 4 - 可能的解决方案:

将具有 DISPIDs 1-7 的方法更改为更高的 DISPIDS 并引入 7 个具有 DISPIDS 1-7 的新虚拟方法似乎可以解决问题。现在一切都显示在 PoSh 中——除了虚拟方法。

有人对此有解释吗?

0 投票
2 回答
948 浏览

c# - Excel OCX ActiveX 查看 Excel

你能建议我一种在我的 .NET C# 应用程序中显示 Excel 文件的方法吗?谢谢你。

0 投票
1 回答
876 浏览

dll - 运行时错误 380 - 在对象中找不到指定的字段名

我正在运行一个带有 Pervasive V9.5 数据库的 VB6 应用程序。我收到一个运行时错误 380 - 当我的只有 2 个用户尝试登录时,在对象中找不到指定的字段名。办公室的其他人都很好......有人知道问题可能是什么吗?我已经搜索了几个小时,找不到任何有用的东西。

登录在登录期间使用 VAccess 控件。这可能是由于客户端计算机上缺少 DLL 或 OCX 文件造成的吗?

任何建议将不胜感激,因为我没有想法。

编辑:

我已启用 VADebug 模式,并且在相关工作站上,当应用程序启动时,我收到 DDF 错误:

The VAccess control was unable to open FIELD.DDF at the specified DDFpath. This may result from an error in the DDFPath or refreshlocations properties, or from a corrupt FIELD.DDF.

然后是一条错误消息:

然后我的登录提示输入用户名和密码,一旦单击登录按钮,用户就会收到 380 运行时。

0 投票
2 回答
5858 浏览

c# - 从 C# 访问 OCX 库时出现“灾难性故障”

我目前正在尝试使用我的 C# 应用程序中的第三方 DLL。我已经注册了 DLL 并将其添加为 COM 组件列表中的引用。据我了解,这应该创建必要的互操作类来从 C# 访问这个 DLL。

在尝试从 DLL 中调用任何方法时,我得到以下异常:-

我用来调用库的代码:-

请注意,这不是一个 ActiveX 控件(我已经看到了许多解决此问题的解决方案)。

有人对我哪里出错有任何想法吗?

谢谢

0 投票
1 回答
523 浏览

vba - 自动安装 Comdlg32.ocx?

我想将包含 comdlg32.ocx 组件的表单的 Excel 电子表格分发到网络共享。

Windows 7 用户可能不会安装或注册此组件。有没有办法自动检查然后可能在 Windows 7 中安装这个组件?

0 投票
2 回答
2953 浏览

c# - 如何在 Win7 Prof x64 EN 上注册 OCX 库

我在 Windows 7 上的 MapWinGIS.ocx 文件有问题。

我尝试通过两种方式注册此控件:

  1. 使用 regsvr32(来自 system32 目录和 SysWOW64 目录),但我收到如下错误消息

模块“C:\MapWinGIS.ocx”加载失败。

确保二进制文件存储在指定路径或对其进行调试以检查二进制文件或相关 .DLL 文件是否存在问题。

指定的模块无法找到。

我通过单击鼠标右键并选择“以管理员身份运行”来使用命令控制台。

  1. 我下载并安装了 OCX/DLL 管理器。我无法使用此应用程序注册 MapWinGIS.ocx 文件。

我不知道为什么。这很奇怪,因为在我在其他 Windows 7 版本上的工作中,我正确安装了它。

我认为我的系统上的本地策略存在一些问题。

你怎么看待这件事?有什么问题?

问候亚当

0 投票
0 回答
4688 浏览

dll - 无法注册 DLL/OCX:RegSvr32 失败,退出代码为 0x5

我想在 Windows 7 Professional(64 位)上安装最新的 TeXnicCenter。但是每次我以管理员权限运行安装程序时,我都会收到以下消息:

"C:\Windows\system32\msxml4.dll

无法注册 DLL/OCX:RegSvr32 失败,退出代码为 0x5。单击“重试”以重试,单击“忽略”以继续(不推荐),或单击“中止”以取消安装。”

文件“C:\Windows\System32\regsvr32.exe”已存在,并且与 Microsoft 的 sfc.exe 的完整性检查成功。

我现在能做什么?帮助会很好。