如何编写ActiveX控件 (200分)

  • 主题发起人 主题发起人 clyin
  • 开始时间 开始时间
C

clyin

Unregistered / Unconfirmed
GUEST, unregistred user!
我要把一个VCL的组件转为ActiveX控件供VB使用,由于是不可视组件,
无法用Delphi的ActiveX控件生成向导。现有几个问题:
应该用Automation Object还是COM Object?两者有何不同?
组件对象的一些成员是VCL的组件对象,这些对象的生成可否放在COM对象的构造函数中?
组件有很多方法的参数是Delphi的类,如TStringList,转换成接口函数时应怎样处理?PChar
又该如何处理?
 
你如果要给VB用,一定要做成Automation,因为它提供了IDispatch接口,
而COM(狭义)是其于底层的IUnknown接口,VB只支持IDispatch接口以上的。
可以放在COM(广义)对象的构造函数中。
StringList须要你自己处理,如把StringList的Text属性传递给VB,再用VB去解析,
PChar转为WideString(即BSTR)即可。
 
谢谢。
还有一个问题:我生成的实际上是一个Automation Library,VB里用的话只能以"引用"
的方式;我该如何把它做成一个ActiveX Control,使VB能以"部件"的方式使用呢?
 
哪里有比较完整的COM/ActiveX的范例?
 
接受答案了.
 
后退
顶部