问题标签 [interop]

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 投票
3 回答
7276 浏览

c# - DLLImport Int** - 如果可以的话怎么做

我正在尝试使用第三方 DLL,它需要一个 int** 作为该方法的参数之一。它将参数描述为指向内存分配的指针的地址。

很抱歉有任何混淆。我认为参数是双向的。DLL 用于与 FPGA 板通信,方法是在主机 PC 和 PCI 板之间建立 DMA 传输。

0 投票
1 回答
1499 浏览

.net - 如何通过互操作用户控件中的事件将字符串数组传递给 vb6

我有一个有事件的 VB.net 控件:

当事件在 VB6 中触发时,我收到以下错误:

“函数或接口标记为受限,或函数使用 Visual Basic 不支持的自动化类型”

这是VB6中的事件:

有没有办法将数组与互操作用户控件一起使用?

0 投票
1 回答
3353 浏览

c# - C# 使用来自 CPP 的未知数量的 args 调用 CPP 函数

我在 CPP 中有一个具有以下原型的函数:

我使用 DLLImport 属性从 C# 导入它。问题是:如何在 C# 中定义原型(在 DLLImport 属性下)?我如何将参数传递给这个函数?谢谢

0 投票
2 回答
336 浏览

flash - OpenLaszlo 应用程序能否访问 AIR API?

看来OpenLaszlo可以在 AIR 上运行。不太明显的是 OpenLaszlo 应用程序是否可以使用特定于 AIR 的 API,例如文件系统访问。如果是这样,这究竟是如何完成的?

0 投票
8 回答
29536 浏览

matlab - 如何将非常大的 MATLAB 稀疏矩阵保存到文本文件中?

我在 MATLAB(版本 7)中有一个 30000x14000 稀疏矩阵,我需要在另一个程序中使用它。调用 save 不会将其写为 ASCII(不支持)。调用full()这个怪物会导致 Out of Memory错误。
我如何导出它?

0 投票
2 回答
1159 浏览

c# - Internet Explorer 工具栏 Tab 键

我用 C# 编写了一个 IE 工具栏,一切正常,除了当我从工具栏打开一个子 Windows 窗体时,tab 键在子窗体上不起作用,无法让我从一个字段移动到另一个字段。

有趣的是,当我使用 form.showDialog() 而不是 form.show() 打开我的子表单时,选项卡的工作方式正常。

我创建的工具栏是基于这篇文章和这篇文章

我已经实现了几篇文章中提到的 TranslateAcceleratorIO,但仍然没有运气。

这是我对 TranslateAcceleratorIO() 和 HasFocusIO() 的实现(在我的工具带类中实现)

我也尝试过这样的 TranslateAccelerator 没有运气:

有没有其他人遇到过这个问题?

0 投票
2 回答
1895 浏览

c# - .NET COM 互操作方法签名

您将为以下 COM 方法使用什么互操作签名?我对最后两个参数特别感兴趣,以及是否尝试MarshalAs与 a一起使用SizeParamIndex

文档指出:

pValue [out] 指向包含该值的字节缓冲区的指针。传递 NULL 以检索所需缓冲区的长度。

pcbLength [in, out] 在输入时,指向包含 pValue 长度的变量的指针。在输出时,该变量包含 pValue 中使用的字节数。

0 投票
3 回答
47087 浏览

vb.net - 两台不同计算机上的不同互操作引用不起作用

当我在我的计算机上添加对Microsoft.Office.Interop.Excel的引用时,Visual Studio 会将其添加到项目文件中:

团队中的另一位开发人员遇到错误,需要将一个名为 Interop.Excel.dll 的 DLL 文件添加到项目中,该文件将上面的代码替换为项目文件中的以下代码:

这确实适用于我的电脑。

您能否解释一下这两种方法之间的区别,哪种方法最好,以及如何让第一种方法在其他计算机上工作?

0 投票
2 回答
2471 浏览

.net - 带有 __declspec(thread) 的线程本地存储在 C++/CLI 中失败

我正在做一个项目,我们通过 C++/CLI 层混合 .NET 代码和本机 C++ 代码。在这个解决方案中,我想通过 __declspec(thread) 声明使用线程本地存储:

但是,在第一次访问该变量时,我得到了 NullReferenceException。更准确地说,声明是在ref 类(在 C++/CLI 中实现的 .NET 类)中完成的。

我已经阅读了一些关于 __declspec(thread) 不适用于延迟加载的 DLL 的内容。如果我使用 .NET,我是否会自动使用延迟加载的 DLL?

0 投票
6 回答
33329 浏览

.net - 如何从非托管代码调用托管代码?

我想从非托管 C++ 调用我的 .NET 代码。我的进程入口点是基于 .NET 的,所以我不必担心托管 CLR。我知道它可以使用 .NET 对象的 COM 包装器来完成,但我想访问托管类的各个静态方法,所以 COM 不是我最短/最简单的路线。