封装components到activex控件(50分)

  • 主题发起人 主题发起人 qianqian
  • 开始时间 开始时间
Q

qianqian

Unregistered / Unconfirmed
GUEST, unregistred user!
我看了一些免费components的源代码,发现里面有些控件不能通过wizard转换
成activex控件,因为combo里面根本没有列出来,后来看了一下代码,发现里
面有registerNonActiveX语句,我想问一下这句话是有意不让控件被转换成
activex还是有其它用处的?
为什么我把这句话去掉了,重新编译后新建activex控件还是找不到我想要的
控件呢?我想转换的vcl的祖先是twincontrol呀。
 
不是所有控件都能转换的
有的控件用了非标准的数据类型
一样不能转换
比如String类型
 
是的,那句话就是不让你转化.
另外,wrench说的不对,因为最起码所有的组件的
name属性都是string类型,但是......
能不能转化的原因,我也没搞清楚,不过我认为,
所谓的转化,不过就是让delphi帮你干一些本来应该你自己
一点一点做的事--在类型库中到处所有的属性和方法,
如果对于一个组件的某些方法和属性,delphi的自动转化
程序转化不了,那它肯定不会处理的,但这并不意味着
这些方法或属性是不可转化的,人去做总是能做出来的.
 
ActiveX是基于COM的
COM服务器和应用程序间通讯时,需要使用标准的类型
也就是说,如果某个接口用到了非标准的参数类型
或者返回非标准的类型
转换的时候会出错
就算转换不错,用的时候也会出错

name属性控件内部使用,不会传到组件外面
所以不会出错
 
我想吧rxlib2.75中的richedit转换成activex,但是上面的办法不行,但是我另外
new 一个 components,基于rxrichedit,不添加任何新的代码,这个控件就可以
变成activex了,这是什么原因?
 
wrench,那Caption呢?
 
多人接受答案了。
 
后退
顶部