Because of problems we have with DevExpress components (used with Form
Inheritance) which use Collections under Delphi 6 I did get the following
message back from DevExpress.
Is this a Delphi 6 bug????
Hello Eric,
Actually, Borland has modified the form inheritance mechanism in Delphi 6.
Please see the difference between DFM files of the inherited form generated
in Delphi 5 and Delphi 6:
Delphi 5:
ItemLinks = <
item
Item = dxBarSubItem1
Visible = True
end>
Delphi 6:
ItemLinks = <
item
Item = Form1.dxBarSubItem1
Visible = True
end>
As you can see, now the ancestor form name is added to the object names on
the inherited form. Thus, a certain ItemLink refers to the item on the
ancestor form, not on the derived form. However, this item is not even
created.
Sorry, we cannot do anything to address this, because Delphi implements
visual form inheritance this way.
Actually, we admit that the ExpressBars does not support Delphi's visual
form inheritance. Please also note that toolbars and item links of the
ExpressBars are collection items. Delphi's form inheritance does not
support collections. For now, we tend to think that this is a Borland
issue. They do not inherit collections as one might expect. Collections
are simply copied. This creates many difficulties. Unfortunately, to get
rid of collections in the ExpressBars is almost impossible. This would
require us to completely redesign its class model.
We indeed do not recommend that you use visual form inheritance with the
ExpressBars. If you decide to use it on inherited forms, you do it at your
own risk.
Thanks ...
Serg
Developer Express Support
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To help us support your needs best, please do not delete
any portion of this message when replying to us.
-----Original Message-----
From: Eric ten Westenend [mailto:e.tenwe...@re-base.com]
Sent: Tuesday, September 11, 2001 2:05 AM
Subject: Delphi6 Inheritance problem with DevExpress.
Hello,
We rebuild a Delphi 5 program with Delphi6.
The main form is a descendant of another form which has a BarManager with a
menu on it. The menu has two
items ('Program' and 'Window'). When running the program these items are not
shown.
Some simple testprojects look the same: everything we declared in the
ancestor baramanager is not shown.
Running ths project with Delphi5, everything is allright!
I Have added some small projects (D5 and D6) where you can see the
difference.
Also see the DFM's , they are different! <<Test inheritance D5.zip>> <<Test
inheritance D6.zip>>
With regards,
E. ten Westenend
Re-Base Solutions
Werkhovenseweg 11
3985 MG Werkhoven
Tel.: +31 (0)343-438458
Fax: +31 (0)343-438459