Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Borland has modified the form inheritance mechanism in Delphi 6.

7 views
Skip to first unread message

Eric ten Westenend

unread,
Sep 11, 2001, 10:01:38 AM9/11/01
to
Hello,

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

To: sup...@devexpress.com

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


0 new messages