C++Builder 中 Mapx 的对象引用
2004-11-13 11:18
323 查看
来源:http://www.temporaldoorway.com/programming/cbuilder/activex/creatinganobject.htm
注:
注:
Creating An Object To Pass To An Imported ActiveX Control |
NOTE: The following applies only to BCB4 Patch 1 and above. Once a control is imported, it is fairly easy to access its properties and the properties of its properties. Notation like Control->Property->Subproperty is allowed because of the "class"Ptr class (as described in the guide to the header file of imported controls) and its definition of the -> operator. However, assume you need to create an object to assign to "Property". You cannot use standard VCL notation like: CControlPropertyClassPtr NewPropertyInstance = new CControlPropertyClassPtr; That is, you can use that notation, the compiler won't stop you, but you will abort with utlcls assert violations or access violations. You must instead use (in macro notation) Prefix##Classname##Disp Name##Disp = Space::Co##Classname::Create(); Prefix##Classname##Ptr Name; Name = Name##Disp; for instance, if the class is Mapxlib_tlb::CMapXFields, then the Prefix is CMapX, Classname is Fields, Space (the namespace) is Mapxlib_tlb I'm sure you can determine the equivalents for your imported control classes. Here's an example: CMapXFieldsDisp FieldsDisp = Mapxlib_tlb::CoFields::Create(); CMapXFieldsPtr Fields; Fields = FieldsDisp; Once again, for better understanding of these classes, consult the header files and the guide to the header file of imported controls. |
相关文章推荐
- 千年零一虫
- ATL实现Connection Point的一种简单的方法
- 在线等,一个十万火急的问题
- SELECT TOP N 问题
- IP地址的隐藏(delphi实现 )
- DirectX.Capture
- 开发工具浅谈
- 越过调试这道槛——ASP.NET无法调试问题剖析
- Ant应用(1)
- 使用C#开发COM+组件
- 纯编码实现数据库的建立或压缩
- 从数据库中动态选取下拉列表的方法
- 用ASP备份数据库
- thinking in c++ 卷2
- thinking in c++卷2
- thinkng in c++卷2
- 初学者的问题----csdn系列
- tiles和struts初步应用
- PowerShell 修复 Robocopy的权限问题
- Excel 十大学习体系-表哥、表姐、表神之路必会(含47门实战课程推荐)