问题标签 [idl]

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 投票
1 回答
242 浏览

c++ - 在 Windows 中通过 RPC 发送 UDT

我开始掌握 Windows 中的 RPC,并且我有一个基本的客户端/服务器模型设置和工作,我可以在 2 OK 之间传递一个字符串,但我现在需要扩展它以在 2 之间传递一个二进制结构我不知道该怎么做。显然,尝试传递 void* 将不起作用,因为 MIDL 编译器不知道结构大小,但我希望有一种方法可以在 IDL 中定义结构以使其工作。我当前的 IDL 如下所示:

我的结构是这样的:

有没有办法在 IDL 中定义它并传递它?

谢谢,J

0 投票
2 回答
555 浏览

c# - C# 使用 INT_PTR 实现 IDL 声明

我们在 idl 文件中声明了一个方法,如下所示:

我们用这个方法在 C# 中实现它:

这在构建 32 位时工作正常,但是当我们构建 x64 时,类型不匹配,因为 idl 正在寻找 64 位值,而 c# 需要 32 位值。

在 C# 中使用 IntPtr 不起作用,因为代码在 C# 中需要 long 或 int。

我可以在 c# 方法中使用任何类型,根据平台编译为 long 或 int 吗?

我宁愿不必通过两次使用该函数来复制代码,而且由于向后兼容性,我不确定我们是否可以将 IDL 更改为仅使用 Int64。

任何帮助,将不胜感激。谢谢

0 投票
1 回答
310 浏览

corba - 是否可以在 Rhapsody 生成的 IDL 文件和 CORBA 3.1 之间完全兼容?

我尝试使用最新版本的 TAO IDL Compiler(已发布的软件包版本 6.0.2)从 Rhapsody 7.1.1 编译生成的 IDL 文件,但由于 CORBA 3.1 中不推荐使用匿名类型,因此出现了一些错误。

可以使用 TAO IDL 编译器“-as”选项抑制此类错误。但是,出于维护原因,我想生成兼容的 IDL 文件。

此外,我从与接口转发相关的 TAO IDL 编译器中得到其他错误。这生成的 IDL 文件可以正确编译,直到 TAO 版本 5.7.9 (1.7.9)。

编辑:

接口转发的主要问题是已经定义的接口的转发隐藏了该接口的内容。

例子:

idl

B.idl

如果我删除 A 的前向没有问题,但我不能因为 IDL 文件是由 Rhapsody 通过这种方式生成的。

0 投票
2 回答
167 浏览

mercurial - mercurial:忽略从 .idl 生成的 .h

是否可以在 mercurial 中使用 .hgignore 来忽略从 idl 文件生成的头文件?

我在 VS2008 中有一个非常大的项目,默认情况下,midl 工具从同一文件夹中的 .idl 文件生成 .h 文件并具有相同的名称。自然,我不希望生成的文件受到控制。如果同一文件夹中有 xxx.idl 文件,是否可以将 mercurial 配置为忽略 xxx.h 文件?

我的问题还有其他解决方案吗?为这 100 个项目重命名文件需要很长时间,这不是我真正想要考虑的选择......

0 投票
1 回答
381 浏览

c++ - 如何控制使用 MPC 时清理的输出目录和文件?

我正在试验 OpenDDS(和 ACE/TAO),它使用 MPC(Make Project Creator)来生成实际的 make 文件,它正在做一些非常烦人的事情。

首先,它生成大量中间源文件(一些 IDL 和 c++ 头文件/实现),并将它们与手动创建的 IDL 和 C++ 文件放在同一目录中。我想让手动创建的文件和生成的文件位于不同的目录中,因为所有生成的文件都会分散注意力。有没有办法做到这一点?

其次,让我运行“make clean”它会清理生成的目标文件,但不会清理生成的源文件。有没有办法让它清理所有生成的文件?

0 投票
1 回答
915 浏览

idl - 接口定义语言

任何人都可以向我解释高级别的接口定义语言的含义。为什么使用它以及如何和在哪里使用它。任何电子书、具体定义和示例也会有所帮助。

任何工作过/使用过这个的人请分享你的知识。请不要用谷歌搜索资源。

提前致谢。

问候, 高拉夫

0 投票
1 回答
329 浏览

backwards-compatibility - IDL/ODL 的向后兼容性

谁能告诉我在哪里可以阅读 Microsoft 定义的 IDL。我需要了解如何通过向接口添加新成员来更改 IDL 文件。我对保持向后兼容性有些困惑。

我正在用 VS6 编程(ActiveX 编程)。

提前致谢。

达特

0 投票
4 回答
2022 浏览

com - 在 Vista 上注销类型库

通过增加库版本,我在 IDL 文件中犯了一个错误。之后我恢复版本。自从我无法使用库以来,因为 VB6 仍然写:“有新版本的库*你想升级到 3.0 版” ....

在 OLE/COM 对象查看器中,我看到注册了我的库的某些版本。存在某种方式如何注销这些类型库?我尝试从计算机中删除 DLL 和 TLB 文件,从 Windows 寄存器中删除所有键……但是“Visual Basic 6”和“OLE/COM 对象查看器”仍然有关于它的信息。

谢谢

0 投票
1 回答
285 浏览

c# - IDL 文件中的接口声明位置

我正在开发一个项目,该项目将使用 COM / MFC 广泛编写的(非常)旧(并且相当大)程序升级为使用 WPF / 托管 .NET 组件,其中一部分试图移植在 IDL 中声明的旧 COM 接口到托管的 C# 接口。在“库”块内部和外部声明的接口有什么区别?

0 投票
1 回答
1383 浏览

c++ - MIDL 有没有办法关闭 C 样式的标头生成?

我有一个简单的 .IDL 文件 (iface.idl),它描述了一个基于 IUnknown 的接口:

当试图编译它时,midl /header iface.h iface.idl我得到了 3 个文件:iface.h、iface_i.c 和 iface_p.c。iface.h 文件包含 ISunpathCalc 接口的 C++ 声明:

该文件剩余的较大部分包含不必要的 C 内容。

问:有没有办法告诉 MIDL 只生成标头的 C++ 部分?是否可以关闭 iface_i.c 和 iface_p.c 文件的生成并强制 MIDL 生成 C++ 定义?

UPD1:

我尝试添加此处指定的 [local] 属性:

但没有任何成功。