DlgTest v1.04 Description: A component editor that allows testing of the TCommonDialog descendants at design time. This allows you to set the varios options and then view the results without having to compile and run your application. The name "Component Editor" is a bit of a misnomer for this, but that's what it's called. We add a menu item, 'Test Dialog', to the context menu (right click) the displays the dialog, and add the same functionality for double clicking on the component. If the TCommonDialog class had a pure virtual method "Execute" that each descendant overrode like it should, this would be much easier. Because Execute is not defined in the ancestor, we have register for each component type we want to add this to instead of just registering it for TCommonDialog. Beginning object oriented programmers learn from this: Just because you can't see a need for it, doesn't mean that there isn't one. Update: Delphi 3 got it right, so we do it the easy way if we are compiling undering it. Contact Information: Feel free to contact me if you have any questions, comments or suggestions at bstowers@pobox.com. The lateset version will always be available on the web at: http://www.pobox.com/~bstowers/delphi/ Installation: Simply compile this into your component library (a package in Delphi 3) as you would any component. Afterwards, you will have a new menu item when you right click on any component that descends from TCommonDialog (TOpenDialog, TColorDialog, etc). C++Builder 5 and up: * Add the unit to the design-time package of your choice. * Select the package the component has been added to, and choose Project | Edit Option Source to open the package options in the editor. * In the entry for PFLAGS, add the "-LUvcl50" option. For example: * Recompile the package. * For Borland's official word on this situation, open the C++Builder help file and search the index for "dsgnintf.dcu" and see the "Compiling packages with DsgnIntf" section. Delphi 6 and up: * Add the unit to the design-time package of your choice. * Add the DesignIDE package to the Requires list of the package into which the component is being installed. * Recompile the package. * This is necessary because of changes to the design-time support units introduced in Delphi 6. For complete information, see the Del6New.hlp file in your Delphi 6 Help directory. In the index, search for "upgrade issues" and in the resulting list of topics, select the "DsgnIntf renamed and related changes" topic. Known Issues: * There are no known issues at this time. Revision History: 1.04: + Updated for Delphi 6 compatibility. See updated install directions above. 1.03: + Updated for C++Builder 5 compatibility. 1.02: + Updated for Delphi 3 compatibility. If using with Delphi 3, the "Test" item will now show up on all TCommonDialog descendant components because Borland finally added an abstract Execute method to it. 1.01: + Changed 'AnsiString' to 'String'. Will now compile with no changes under Delphi 1.x. 1.00: + Initial release