1

我有一个在 .NET 中创建的 COM dll。我正在通过 silverlight 访问它。我遇到的问题是我将一个 byte[] 传递给 COM dll,但它似乎无法正常工作。我尝试将其标记为 [In][Out],但没有成功。

void LoadData(byte[] data)

这就是我的功能的样子。它可以在 COM 端正常加载数据,但不会将其返回到 silverlight。

4

3 回答 3

1

在使用 COM 互操作时尝试通过引用传递数组:

void LoadData(ref byte[] data)
于 2012-06-13T16:30:25.687 回答
0

在此处研究数组的默认封送处理可能很有用。

如果这对您没有帮助,请为您的 COM dll 生成一个类型库(例如,使用 tlbexp)。当您看到您正在调用的函数的 IDL 定义时,您可能会明白为什么您的 byte[] 参数不起作用。如果仍然不清楚,请在此处发布该 IDL,它至少会给我们提供更多线索。

于 2012-07-03T12:45:14.643 回答
-2
byte[] data = new byte[30]
LoadData(Convert.toBase64String(data.Tostring()));


void LoadData(byte[] data)
{

}
于 2012-06-14T17:15:09.623 回答