首先在initiallizecomponent里面要有事件的托管声明,如果这个组建没有自动加的话你要自己加上。然后写一个和声明事件托管时所声明的名称一样的函数,函数体里放上事件的处理代码就可以了。
拙见,请各位指点:)

解决方案 »

  1.   

    应该是 OCX 内部的错误!用编辑器建立代理后整个类的用法和托管类一样,包括事件!
      

  2.   

    OCX控件没问题,在CS结构中用的好好的.
      

  3.   

    说明一下,OCX控件是用VC6.0写的,这应该不会有什么问题吧!
      

  4.   

    出什么错误?你的意思是想在web中应用吧!
    出错的属性类型是什么的?
    web中的脚本有很多类型不支持!用VS.NET的项目--添加引用后会编辑器自动建立代理,不用手动建立
      

  5.   

    可添加引用后,并没自动建立代理,得自己定义并NEW一个才行,属性是STRING类型
    出错上面说到过:
    [COMException (0x8000ffff): 灾难性故障]
       System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) +457
       LUCENTLib.LucentClass.set_Passwd(String ) +0
      

  6.   

    有可能是C#中的Object类型与OCX中的类型不匹配吧,不肯定的说
      

  7.   

    谁有C#WEB应用程序中正常的OCX控件,发一个小弟试一下,不胜感激!
    小弟MAIL:[email protected]
      

  8.   

    把你的问题说清楚点,比如ocx的用途,帮你分析分析!string 类型的东东应该不会出错!是不是调用API?在web程序中还存在权限问题,API是不能调的!
      

  9.   

    我在WEB FORM中加一个OCX控件,没有用API,这个OCX用作中间控制,用来向另一台服务器发请求,作相应的操作.
    现在连最基本的给属性付值都有问题.如下:
    Lucent1 = new LUCENTLib.LucentClass(); 
    Lucent1.DeviceId = "4002";运行出现如下错:
    [COMException (0x8000ffff): 灾难性故障]
       System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) +457
       LUCENTLib.LucentClass.set_DeviceId(String ) +0
      

  10.   

    WINFORM中可以,就是不想用CS结构.
      

  11.   

    如果在 winform 中可以而 webform 中不行的话,初步可以断定是执行权限的问题!
      

  12.   

    权限都给开了,没有提示权限问题.
    蓝色闪电,你有没有可以在WEBFORM中运行的OCX控件,如有能不能发个给我试试.非常感谢!
      

  13.   

    真没解?
    那有没别的方法实现,除了JVSCRIP
      

  14.   

    ocx控件是运行在客户端的,他的实例化需要一个容器,你用c#服务器端语言操作他,容器如何建立, 这样不行。