繁体   English   中英

从ActiveX返回字节数组到JavaScript

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM