Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/IDE/Packages    [ Add a report in this area ]  
Report #:  85100   Status: Closed
Keyword 'inherited' is reverted back to 'object' in DFM after compiling
Project:  Delphi Build #:  14.0.3513.24210
Version:    14.0 Submitted By:   Christophe Ravaut
Report Type:  Basic functionality failure Date Reported:  6/3/2010 3:29:53 AM
Severity:    Serious / Highly visible problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    All platforms Internal Tracking #:   277188
Resolution: Retest (Resolution Comments) Resolved in Build: : Pulsar(aka XE2)
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: 10
Description
My project is build from Delphi5 to Delphi7, Delphi2006 and upgraded now to Delphi2010. I have a base form class, derived directly from TForm, contained in a "globals" package. I then have several other packages containing forms that derive from this base form class. I've made sure to change the object keyword to inherited in each of these derived forms' DFM file.

Everything compiles and runs properly, but I've noticed something strange (and very frustrating) recently. After making everything, any time I open one of these derived child forms in the designer, I get all sorts of errors based on missing components in the ancestor form. Even stranger, when I open the DFM file for that form, the inherited keyword has reverted back to object. This causes all sorts of inherited properties to be lost as well.

Luckily these changes that occur when I open the form are only in memory, so I can cancel everything and close the project without saving the changes. Then when I reopen the entire project, I can reopen the child forms, and they appear and function normally, correctly finding all inherited properties and components.

Obviously it's pretty annoying to keep closing my project every time I recompile. Has anyone else seen this?
Or can I block the DFM be changed when i compile?
AI'm not the only one with this problem
Steps to Reproduce:
None
Workarounds
None
Attachment
Keyword Inherited revert to Object.zip
Comments

Tomohiro Takahashi at 6/3/2010 5:45:59 PM -
> My project is build from Delphi5 to Delphi7, Delphi2006 and upgraded now to Delphi2010. ...
Could you please attach sample project to reproduce your issue?

And, your Build No(14.0.3513.24210) is old. Could you please apply all of updates/hotfixes?

Christophe Ravaut at 6/4/2010 1:11:12 AM -
14.0.3513.24210 is the version of my Delphi 2010.

Updates/HotFixes apply:

Delphi and C++Builder 2010 Update 4
Delphi and C++Builder 2010 Update 5 (Database Pack)
C++Builder 2010 Boost Update
Delphi and C++Builder 2010 Help Update 2

radstudio2010_HF1.zip
radstudio2010_HF2.zip
radstudio2010UpdatePack_Dec09.zip
delphicbuilder_2010HelpUpdate2.zip

In Attachment:
about.bmp --> about screen of Delphi

I have a demo but i can 't attach the zip file.

error
---------------------------
QualityCentral
---------------------------
The operation timed out - URL:http://qc.embarcadero.com/coBugCGI.exe/soap/ICDSReportPublicInterface - SOAPAction:urn:CDSReportPublicInterfaceIntf-ICDSReportPublicInterface#AddZipAttachment.
Is it possible to send the zip somewhere?


DelphiReport85100.avi (23.229kb) --> Demo how i reproduce my problem

In the demo we have 2 form.
One form is is my baseform inherited from TForm.
TfrmBaseForm= class (TForm)
The second form is inherited from TfrmBaseForm.
TfrmBaseVForm= class (TfrmBaseForm)
in the dfm file of TfrmBaseVForm you can see it's inherited.
When i compile you can see vizual that the design form is changed to the edit code.
The inherited keyword is also reverted to object in the dfm file

regards




Tomohiro Takahashi at 6/4/2010 6:32:42 PM -
> Is it possible to send the zip somewhere?
> DelphiReport85100.avi (23.229kb) --> Demo how i reproduce my problem
It is tool big to attach to a report. So, could you please attach only project files?

Christophe Ravaut at 6/5/2010 1:43:47 AM -
I've made a little project and an avi-file to show the problem. (see attachments)
You must first install Package1. Then follow the demo on Demo.avi

Jacob Hoover at 7/23/2010 2:32:42 PM -
I too am seeing this happen frequently. I can trigger it on demand as well. For my use case howerver, it's caused by having a descendent form/panel open with a custom component on the form (I don't think it matters if it's the base or inherited form/panel), and then I recompile the custom component.

This can be very cripiling at times if not caught right away, as we have 5-6 layers of UI inheritence which all seem to get stomped on.

As far as making the DFM read only, that works but only to a point.  The IDE refuses to go to a saved state if you modify a PAS file associated with a DFM and the DFM is marked read only. It would be real nice if the DFM was only regenerated if it was needed (and not done every time the PAS file is changed.)

Christophe Ravaut at 5/2/2011 2:17:48 AM -
Why is this closed?
Is this resolved?

Tomohiro Takahashi at 5/5/2011 6:36:05 PM -
If possible, could you please retest your issue with Delphi XE(w/ Update1)?
Does this issue still occur with it?

Christophe Ravaut at 5/23/2011 12:13:24 AM -
I don't have DelphiXE.
If you want i will test it with the trail version of Delphi XE Architect

Tomohiro Takahashi at 6/19/2011 6:30:19 PM -
Do you have any update with Delphi XE or beta build of next release of Delphi?

Tomohiro Takahashi at 5/2/2011 5:16:07 PM -
Thanks for the notification. I will check the internal status.

Teodor Nacu at 5/6/2011 4:42:48 AM -
Hi,
I am not able to reproduce this bug.
If you can, please provide some steps to reproduce this issue.

Thanks,

Teodor

Christophe Ravaut at 5/23/2011 12:07:27 AM -
see demo.avi on attachments

Server Response from: ETNACODE01