问题标签 [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 投票
22 回答
595156 浏览

ruby - 如何从 Ruby 调用 shell 命令

如何从 Ruby 程序内部调用 shell 命令?然后如何将这些命令的输出返回到 Ruby?

0 投票
5 回答
4243 浏览

c# - .NET 进程外服务器的#import 问题

在 C++ 程序中,我正在尝试 #import TLB of .NET out-of-proc server。

我收到如下错误:

z:\server.tlh(111) : 错误 C2146: 语法错误: 缺少 ';' 在标识符“GetType”之前

z:\server.tlh(111) : 错误 C2501: '_TypePtr' : 缺少存储类或类型说明符

z:\server.tli(74):错误 C2143:语法错误:缺少“;” 在'标签::id'之前

z:\server.tli(74) : error C2433: '_TypePtr' : 'inline' 不允许在数据声明中使用

z:\server.tli(74):错误 C2501:'_TypePtr':缺少存储类或类型说明符

z:\server.tli(74) : 致命错误 C1004: 发现文件意外结尾

TLH 看起来像:

我对拥有基本对象 .NET 对象方法(如 GetType()、Equals() 等)并不真正感兴趣。但 GetType() 似乎会导致问题。

一些谷歌研究表明我可以#import mscorlib.tlb(或将其放入路径中),但我也无法编译。

有小费吗?

0 投票
9 回答
22234 浏览

c# - Java and C# interoperability

I have two programs. One is in C# and another one in Java. Those programs will, most probably, always run on the same machine.

What would be the best way to let them talk to each other?

So, to clarify the problem:

This is a personal project (so professional/costly libraries are a no go). The message volume is low, there will be about 1 to 2 messages per second. The messages are small, a few primitive types should do the trick. I would like to keep the complexity low. The java application is deployed as a single jar as a plugin for another application. So the less external libraries I have to merge, the better. I have total control over the C# application. As said earlier, both application have to run on the same computer. Right now, my solution would be to use sockets with some sort of csv-like format.

0 投票
3 回答
7894 浏览

c# - 在 C# 中从外部应用程序获取 UI 文本

是否可以从 C# 中的外部应用程序获取 UI 文本。

特别是,有没有办法从第三方编写的外部 Win32 应用程序中读取标签(我假设它是普通的 Windows 标签控件)中的 Unicode 文本?文本是可见的,但不能在 UI 中通过鼠标选择。

我假设有一些可访问性 API(例如,用于屏幕阅读器)允许这样做。

编辑:目前正在考虑使用托管间谍应用程序之类的东西,但仍会感谢任何其他线索。

0 投票
1 回答
336 浏览

c# - 如何在互操作期间阻止 MS Graph 组件弹出?

在 C# 中使用 Office 互操作时,如果将图表对象插入 MS Word 文档,Grap 应用程序会在很短的时间内加载然后消失。有没有办法防止这种情况发生?我尝试将应用程序实例的 Visible 属性设置为 false 无效。

编辑: Visible 属性在互操作时对 Word 使用时会生效,并且不会弹出。我希望 MS Graph 有类似的方法可以做到这一点。

0 投票
3 回答
2879 浏览

mysql - 如何解决 MS SQL 中不受支持的无符号整数字段类型?

试图让基于 MySQL 的应用程序支持 MS SQL,我遇到了以下问题:

我将 MySQL 的 auto_increment 保留为无符号整数字段(各种大小),以便利用整个范围,因为我知道永远不会有负值。MS SQL 不支持所有整数类型的无符号属性,所以我必须在放弃一半的值范围或创建一些解决方法之间做出选择。

一种非常幼稚的方法是将一些代码放入数据库抽象代码或存储过程中,该过程在数据库端的负值和无符号范围的较大部分的值之间进行转换。这当然会弄乱排序,而且它也不适用于自动标识功能(或者它会以某种方式?)。

我现在想不出一个好的解决方法,有吗?还是我只是狂热,应该忘记大约一半的范围?

编辑:
@Mike Woodhouse:是的,我想你是对的。我的脑海中仍然有一个声音说,如果我优化它的利用率,也许我可以减小该字段的大小。但是,如果没有简单的方法可以做到这一点,则可能不值得担心。

0 投票
4 回答
5742 浏览

c# - 在 C# 中实现“out of proc”COM 服务器需要做什么?

我正在尝试实现一个用 C# 编写的“out of proc”COM 服务器。我该怎么做呢?

我需要 C# 代码从我的主 C++ 应用程序中“脱离 proc”,因为我无法将 .NET 运行时加载到我的主进程空间中

为什么?:
我的 C++ 代码位于加载到许多不同客户 EXE 中的 DLL 中,其中一些使用不同版本的 .NET 运行时。由于只能将一个运行时加载到单个进程中,因此我最好的选择似乎是将我的 C# 代码放入另一个进程中。

0 投票
2 回答
12163 浏览

.net - 如何编组结构数组 - (.Net/C# => C++)

免责声明:编组概念接近零。

我有一个结构 B,其中包含一个字符串 + 一个结构 C 数组。我需要将它跨过巨大的互操作鸿沟发送给 COM - C++ 使用者。
我需要哪些正确的属性集来装饰我的结构定义?

编辑:@Andrew 基本上这是我朋友的问题。他让这个东西在 .Net 中工作 - 他做了一些自动创建 .tlb/.tlh 的东西,然后他可以在 C++ 领域中使用。问题是他无法修复数组大小。

0 投票
2 回答
7265 浏览

.net - 如何将 IntPtr 转换为 Stream?

MemoryStream将需要一个byte[],但如果可能的话,我想不复制数据的情况下这样做。

0 投票
6 回答
13214 浏览

wpf - WPF 在现实生活中与 XNA 的融合程度如何?

我知道有几种方法可以在同一个应用程序中混合 XNA 和 WPF。我发现在我的 XNA 游戏中将 WPF 用于所有 GUI 和 HUD 内容很诱人。有没有人对这种方法在现实生活中使用 .NET 3.5 SP1 的效果有任何实际经验?任何陷阱(例如“空域问题”)?关于哪种方法最有效的任何提示?