Watch, Follow, &
Connect with Us

Please visit our new home
community.embarcadero.com.

Public Report
Report From: CodeCentral    [ Add a report in this area ]  
Report #:  138740   Status: Reported
Delphi XE10 Visual TDataModule stream error/Inheritance failur
Project:  CodeCentral Build #:  Embarcadero┬« De
Version:    1.0 Submitted By:   Techotel Techotel
Report Type:  Basic functionality failure Date Reported:  10/6/2016 2:40:42 AM
Severity:    Serious / Highly visible problem Last Updated:
Platform:    32 Bit Internal Tracking #:  
Resolution: None  Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: 1
Description
Changing the declaration of a TDataModule to be abstract makes Delphi think that it's a form. It's a serious show stopper.

This also makes a hell of a mess when using visual inheritance.

Simplified example:

type
  TMyDataModule = class abstract(TDataModule)
..
..
..
  end;

..
..

Try to create the TMyDataModule object or one of it's descendants. You will get an exception saying that the property CliehtHeight doesn't exists. Also, the form designer changes from white to grey. The property editor displays form properties.

/Brian

Steps to Reproduce:
None
Workarounds
The work around would be to remove the abstract keyword from the declaration. Open all descendant forms and save them again without the properties of the form.

The problem here is that everyone can now create instances of an illegal object.
Attachment
None
Comments

None

Server Response from: ETNACODE01