![](/img/trans.png)
[英]Returning a byte array from JavaScript to Emscripten/Unity Web Assembly
[英]Returning a byte array from activex to javascript
我已经使用c#构建了一个小的Activex控件。 我有一个返回字节数组的函数。 由于某种原因,当我尝试在js中使用返回的数组时,收到一个未定义的值。 为什么会这样呢? 反正有解决办法吗?
这是我的代码的简单演示:
Activex:
[ComVisible(true)]
public byte[] Close()
{
try
{
MessageBox.Show("called from activex Close");
return Stop();
}
catch (Exception e)
{
//ExceptionHandling.AppException(e);
throw e;
}
}
JavaScript调用:
function CloseActiveX(){
var myRslt = document.OurActiveX.Close();
}
您尚未显示Stop()方法包含的内容。 如果Stop()
返回null,则应该看到所看到的内容。
但是,看起来您的ActiveX控件是用.NET编写的。 由于种种原因,这是一个坏主意,尤其是性能会很低,并且如果浏览器中运行的其他控件或扩展程序需要不同版本的框架,则会遇到问题。
除了这个问题之外,可能的问题是, byte[]
并未以允许其使用的方式编组回调用方。 您需要返回具有以下属性的VARIANT:ARRAY,BYREF,U1。
数组的默认封送处理可能很有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.