Author: Yoav Abrahami
When I add published properties to a form / datamodule decendent, what don't I see
them is the object inspector?
Answer:
In order to see properties of decendent forms / datamodules in the object
inspector, we need three actions:
1. Define the property as published, with a type the object inspector can handle.
Note that the object inspector does not handle interface types (in delphi 5).
1 TMyForm = class(TForm)
2 published3 property MyProp: Integer;
4 end;
2. Add a register procedure to some unit ( I recomend another unit, that will be
included only in design-time package ).
5 // for TForm decendents:6 7 procedureregister;
8 begin9 RegisterNoIcon([TMyForm]);
10 RegisterCustomModule(TMyForm,
11 TCustomModule);
12 end;
13 14 // for TDataModule decendents:15 16 procedureregister;
17 begin18 RegisterNoIcon([TMyForm]);
19 RegisterCustomModule(TMyForm,
20 TDataModuleDesignerCustomModule);
21 end;
the class TDataModuleDesignerCustomModule is in the DMDesigner unit, for which we
have no source. The unit is in the dsnide50.bpl. In order to use this unit we have
to include the dsnide50.bpl package in our's package 'Requires'. As this package is
used only by the delphi IDE, I recommend to add it only to a design-time packages.
3. Compile and install the new package. Now we will see the new property in the object inspector.