分享
 
 
 

C++Builder And ACtiveX的头文件

王朝c/c++·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

来源:http://www.temporaldoorway.com/programming/cbuilder/activex/headerfiles.htm

注:先摘录,研究后写成中文

The Header Files From An Imported Control

Introduction

There are several header files generated by the act of importing an ActiveX control into C++ Builder. This article explains what they are, what they contain, and what they are used for.

This material is specific to BCB4 Patch 1 and above.

The Files

The following files are generated by importing a control

<control>OCX.h and .cpp - These are the VCL representation of the control itself. The class implemented by these files can be instantiated with the normal VCL "new".

<control>TLB.h and .cpp - These are the classes, templates, and function implementations / constant declaration / definitions for the classes specified in the control type library. These are not able to be instantiated using the VCL "new", as discussed later in this document.

The OCX File

This is a fairly simple file for those used to reading VCL header files. The control class definition is present. This definition contains VCL representations of the control properties, methods, and events. VCL style classes to support the various subobjects are not generated - unfortunately, this is as deep as VCL support for the control goes. If you need to use subobjects of this class, you will generally have to use the classes declared in the TLB files. In most cases, this will be similar to working with VCL objects - until you need to create one from scratch, as discussed later.

The TLB File

This is a much more complex file. For a reasonably sized control, it can be nearly 10,000 lines. The size of these files for large applications like Excel is truly legendary.

The following are the contents of this file

class GUID, DIID etc constants; here declared as extern and initialized in the TLB .cpp; NOTE: If you use the control in a package, you must change each extern const GUID declaration in the .h to extern __declspec (package) const GUID, or else the declarations will not be visible in using applications or packages.

For each class in the TLB...

The "class" declaration; this is an interface and is an abstract class. It cannot be instantiated.

The typedefed pointer to "class" ("class"Ptr).... a smart-interface wrapper. Initialized by a call to the creator class (see CoClass below), or a method on an existing interface that returns one.

"class"DispT<> a template class which is the non-abstract version of the IDispatch interface to the "class". It is used to call Invoke on the underlying interface and to hide that aspect of interacting with the interface.

"class"Disp a typedef to conceal the "templateness" of the DispT class.

TCoClassCreatorT<"class"Disp, "class", &CLSID_"classwithoutprefix", &DIID_"class"Co"classwithoutprefix"> used to set up new instances of the specified class. This is done with the Create method.

Conclusion

Though complex, the files generated for an imported control can be more easily used when they are understood. This article outlines thei contents and function of these files.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有