急!OCX,用Delphi向导生成的OCX在PB中加不上。Delphi: New\Other\ActiveX\AxtiveXControlPB提示:Test.OCX is not ed as supporting self_registration ,Hower the
        function "DllregisterServer" was found多谢各位!

解决方案 »

  1.   

    你看提示是你没带注册,你注册了吗?用REGSVR32
      

  2.   

    注册了。我在Delphi中都可以用了。谢谢
      

  3.   

    我也曾经试过,特别是PB中调用OCX控件里的函数时就报错了。
    可能我做的也不标准。
    很奇怪,我用VB做的ActiveX控件反而用的很好。继续关注……
      

  4.   

    yinyinyin(白银):vc你熟悉吗?怎么在vc的OCX中使用另外一个OCX。我把他加进去了,不知道怎么使用
      

  5.   

    我不熟悉vc。
    我今天特意试了一下,你的情况我大概知道了。
    你新建一个ActiveX Control时,名字改的不对。在ActiveX Control Wizard窗口中,
    选择一个vcl组件时,选择之后,
    系统自动将New ActiveX Name、Implementation Unit、Project Name都赋一个默认名。
    如果你在这里不改,确定之后,进入编辑窗口。
    保存时,如果不是默认保存的名字,那么编译出来的ocx在PB中就出现
    Test.OCX is not ed as supporting self_registration ,Hower the
            function "DllregisterServer" was found例如:我选择一个TEdit的VCL Class Name,那么下面的三项就是
         EditX \ EditImpl1.pas \ EditXControl1.dpr
         确定进入到编辑界面。
         保存时默认改名为test.pas、text.dpr  ,然后编译,那么编译出来的OCX在PB中用不了。     如果你安装它的默认名保存,然后编译,这样编译出来的OCX就能在PB中使用。我还碰到一个问题,就是有返回值的函数,返回是WideString,但是在PB中只能接收到一部分,
    我是在做一个TMemo控件时遇到的,不知道为什么。是不是字符类型不兼容还是什么其它原因。这个我也不知道是什么原因。因为我也是初学delphi。
      

  6.   

    你在DELPHI 中有用数据类型用到:string 的吗?改:shortstring或pchar