t e m p o r a l 
 d o o r w a y 

Advanced Inheritance, Component, And Editor Issues

 

Form Inheritance

  • Handling Uneven Form Inheritance - If you want to really use form inheritance in the most efficient possible manner, you will probably run into the issues of uninitialized base class global variables and lost interform references. This article shows how to overcome the problems of having some forms / data modules with descendants and some without descendants.

Component Writing

  • Creating An Aggregate Component With Streamable Sub-Components - Learn how to create a component with subcomponents, how to set that component up to stream its subcomponents, and where a component editor fits in. (3/6/98, updated 12/99, updated 10/00)

  • Streaming Classes - See how to use streaming system functions to stream out non-published data for a TPersistent descendant (12/99).

  • An Aggregate Scroll Panel Component - See how to create a component which can have other components dropped on it, and which correctly streams all of the subcomponents (9/01).

  • Creating your own property editor - An example of making a data aware property editor that allows the programmer to pick from a combo listing the fields for a data source; demonstrates how to access property data and the data of the component in which the property resides from within a property editor, how to provide the list of strings that will be used in the property combo, and how to tell the IDE that a property is modified when the property editor is for a pointer to a more complex class of which only one part (in this case the name) is actually changed. Also how to register an AnsiString property editor. Everything you wanted to know and won't find in the docs (I hope). (Updated 12/99)

  • Creating your own component editor - An example of how to deal with components whose properties are too complex for convenient editing in the object inspector.

Miscellaneous Issues

Copyright © 2004 by Mark Cashman (unless otherwise indicated), All Rights Reserved