自己写的组件(从TCustomControl继承),测试均通过,我现在想将其转换成ActiveX控件,用delphi的控件向导建立编译后,生成的控件为何屏蔽了控件的方法,而只看到属性和事件?是不是在用向导建立的时候,还有什么工作没做?
我用向导先建立ActiveXLibrary,然后选择ActiveControl建立控件,编译,中间没做别的工作。
初次写控件,高手指点!

解决方案 »

  1.   

    看一下有没有生成类型库Tlb文件,若有,看里面有没有控件对应的方法
      

  2.   

    这个文件存在,是类型库文件吧?我用type library查看事件和属性均在,惟独丢了方法。而我的方法参数君与自动化兼容的。
    还强调一下,组成vcl组件,方法,事件,属性均可用。
    难道方法要自己在tlb中手工加入不成?
      

  3.   

    不需要的,vcl组件的方法,事件,属性作成activex后,会转为activex的方法,事件,属性,你如果想对activex添加一些附加的属性,可直接在activex添加。我怀疑可能是你自己作的组件有问题。
      试着将Tanimate,Tstringgrid等作一个activex,看是否有问题,若还有问题,那就是你机器的问题了
      

  4.   

    另外,用到的一些引用及常量定义我是写在另外的一个单元中再被组件实现单元Use的,没关系吧?
      

  5.   

    转为active后,使用非简单类型做参数的函数会被cut
      

  6.   

    你的组件用到两个单元文件,那你发布的时候还要发布两个dcu了,你的问题我没碰到过,也没用过用两个单元的情况
      

  7.   

    我写的方法没有参数,有返回值的方法,是boolean类型,兼容吗
      

  8.   

    to  liuhelin(鹤林)
    你所说的非简单类型是什么我只知道activex会cut掉带有数组和结构参数的函数,还有别的类型吗
      

  9.   

    高手指点,解决210分一起奉送(vcl版块中160分)
      

  10.   

    我的方法是放在public下,将它们移到published下也不行
    另外,我在编译制作activex的项目时,设置的run/parameters中的测试应用程序也可正常的调用控件的方法,很奇怪。
    而类型库中却看不到方法。
      

  11.   

    好象要将Delphi的组件转换为Activex,要从TWinContrl继承的
      

  12.   

    TCustomControl侍从 他继承的,不是这个问题
      

  13.   

    建立类型库Tlb文件,就可以了很多的类型会被转化成COM通用的类型,若是转化不了的,只有手工添加了。