ActiveX UDP异步连接服务器当收到数据后,我想通过自定义事件 通知JS并且显示在页面上。
我JS部分是:try{testProj1 = new ActiveXObject("testProj1.test");}catch(e){} 调用ActiveX的,不显示ActiveX from窗体。请给个详细说明谢谢。 已经困扰1周了。。

解决方案 »

  1.   

    在你的ActiveX中增加一个 Variant 类型的属性,比如叫 OnxxEnent,
    在页面上把一个 js 的 function 名字赋值给它,在ActiveX内部,如果满足条件
    就把这个 OnxxEnent 变量当作函数执行......很难理解吧?不过确实可行,如果你在南京,可以来找我,我直接告诉你。
      

  2.   

    参考:http://topic.csdn.net/u/20090225/11/06c87e2a-f06b-460c-90c6-f59b069df5dd.html
      

  3.   

    CBX框架是一套健壮、简单易用的Delphi三层框架,完全以Midas为基础進行开发,非常适合开发大型企业应用。CBX是一个完备的体现RIA思想的应用开发框架,它充分的具备了这三大要素,包含:浏览器ao运行容器插件;宿主在IIS的应用服务器兼部署服务器;以Delphi 7为基础扩展而来的强大开发环境。 CBX的价值在于:能够将Delphi7开发桌面应用的强大能力搬上了浏览器,远远超越基于Html乃至Ajax技术的Web开发技术的能力范畴,它意味着:几乎所有的VCL控件都能直接用使用在Web客户端中;几乎所有的Windows API都可以在客户端调用;客户端代码执行效率达到了C++的级别; 能使用客户端电脑的所有硬件资源。
    具备一个简约而高效强大的服务器容器环境,能够用Delphi Midas的开发模式开发高效率的、能够穿透防火墙、在互联网上运行的应用服务器,天然集成无状态中间层业务对象的机制,系统层次简捷健壮,充分体现了三层构架的高性能,将三层构架系统的特性发挥到了极致;
    CBX具备高度开放的访问接口,天然面向和各种Web系统交互和集成,诸如:JSP、ASP、ASP.Net、PHP乃至静态html网页,开发者不仅可以将CBX模块自如的嵌入到纯Web系统中,而且还能通过灵活的接口和CBX对象交互,让CBX充当各种纯Web构架方案的强有力补充,弥补纯html技术能力所不能及之处。请加入500人超级CBX&Delphi群 11701114
      

  4.   

    客户端JS代码供参考://抄表
    function chaobiao()
    {

    var obj = window.document.all("Demo"); //获取ActiveX,ID是Demo
    var s = "结果" + obj.ChaoBiao("10001");
    alert(s);
    s = "<td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8></td><td>9</td><td>10</td>";
    $("#1-10001").html(s); s = obj.ChaoBiao("10002");
    alert(s);

    s = "<td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td>";
    $("#1-10002").html(s);
      }    //数据库处理
    //打开数据库连接: 目前只要设置下数据库路径即可
    function Open()
    {
      
    var Demo = $("#Demo");  //获取ActiveX,ID是Demo
            Demo.StrCn =  "F:\\LSD-DEMO-3MJC-001-1\\App2\\Dat\\Struct.mdb";
    if (Demo.State == 0)

        alert('数据库连接成功。');
    }
    else

        alert('数据库连接失败。');
    }
    //SetStrCn(S_database);
       //window.document.all("Demo").Open();
           // document.getElementById("txtState").value = window.document.all("Demo").State;//函数调用结果
      }...
    <object
      classid="clsid:546E7721-249B-4575-9062-BC31601563B8"
      codebase="LsdProduct.ocx"
      width="500"
      height="300"
      align="center"
      hspace="0"
      vspace="0"
      id = "Demo"
    >
    </object>
    ...1、JS和JQUERY的两种使用ACTIVEX的方法。
    2、Demo.StrCn和obj.ChaoBiao是LsdProduct.ocx中的属性和方法。
    3、至于编写ACTIVEX是怎样添加方法和属性,自己学习吧。
    4、算是支持我吧呵呵。参考:http://download.csdn.net/source/598033
      

  5.   

    不显示ActiveX from窗体,可以:
    ...
    <object
    ...
    width="0"
    height="0"
    ...
    >
    </object>
    ...