我在注册一个ocx控件的时候安装没有问题,但是一旦把控件放到窗体上后就会报告这个一个地址错误“Access Violation at Address 00000004. Read of Address 00000004”,但是关掉这个错误对话框后还可以在程序里面调出这个控件的属性,但是一编译就会报错,我开始认为这个控件没有被注册上,结果我用windows里面的regsvr32.exe进行了注册,注册成功了,但是再次把这个控件放到窗体上的时候却报告我这个控件不是有效的控件,让我重新安装,我试验了很多此都不行,我以为是控件出了毛病,但是我却能用VB注册上去,而且用的非常好,不知道这是怎么回事,到底是Delphi出了毛病(我今天新装的系统和Delphi6,7)还是ocx文件出了毛病

解决方案 »

  1.   

    ActiveX控件一放到窗体上就会触发控件的onCreate事件。如果你有控件的源码,最好跟踪查看一下。如果没有那就没办法了。
      

  2.   

    Delphi7对于控件的处理是有些BUG,但不知Delphi6怎样。
      

  3.   

    我D6 D7 都试过了,都不行to sunkevin(愚公) 那为什么我打开那个控件自己代的Demo的时候只是报告没有找到*.res文件呀,那个控件却还在那个窗体上显示着呢?
      

  4.   

    你的ActiveX是不是要注册码的?我曾遇过注册码注册不成功会有这种情况。再不有可能是Delphi的bug(只能使用不能添加)?
      

  5.   

    我也挺烦Delphi加VB的ocx控件,,我也试过N遍就是添加不成功!