Einzelnen Beitrag anzeigen

Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

Vererbung zwischen TDataModules wird ständig gelöst?

  Alt 25. Nov 2013, 08:29
Delphi-Version: 2010
Guten Tag!

Ich habe von einem eigene TDataModule zwei weitere abgeleitet:

Delphi-Quellcode:
TdmSchnittstelle = class(TDataModule)
TdmVariante1 = class(TdmSchnittstelle)
TdmVariante2 = class(TdmSchnittstelle)
Das ganze habe ich über die IDE gemacht, also nicht selbst Units angelegt und angefangen abzuleiten.
Nun hat jede der beiden Varianten ein eigenes Formular, auf dem die Komponenten zu sehen sind. Ist auch OK soweit.
Die Formulare fangen im Code folgendermaßen an:

Delphi-Quellcode:
inherited dmVariante1: TdmVariante1
inherited dmVariante2: TdmVariante2
Jetzt ist es aber so, das öfters (von der IDE) die Vererbung "gelöst" wird.
Jedenfalls die der Formulare, da steht dann plötzlich nurnoch:

Delphi-Quellcode:
object dmVariante1: TdmVariante1
object dmVariante2: TdmVariante2
Beim compilieren klappt das noch alles, aber beim Programmstart kommen dann beim Instanziieren folgende Fehlermeldungen:
Code:
Exception EReadError in Modul MyProgram.exe bei 000ZYX.
Fehler beim Lesen von dmVariante1.ClientHeight: Eigenschaft ClientHeight existiert nicht.

Exception EReadError in Modul MyProgram.exe bei 000XYZ.
Fehler beim Lesen von dmVariante2.ClientHeight: Eigenschaft ClientHeight existiert nicht.
Das Ganze passiert dann, wenn ich z.B. bei Variante1 die Größe des Formulars/Datenmoduls ändere.

Lösen kann ich das nur, indem ich mir das Formular als Text anzeigen lass und händisch object zu inherited ändere.
Dann kommt noch die Meldung:
Code:
Fehler beim Lesen von dmVariante1.ClientHeight: Eigenschaft ClientHeight existiert nicht. Den Fehler ignorieren und fortsetzen?
Das gleiche für ClientWidth und Variante2.
Wenn ich das Ignoriere geht alles wieder wunderbar, bis zum nächsten Vorfall.

Was für ein Problem hat die IDE (oder ich?) hier?
Kann ich in der IDE irgendwo was einstellen damit sowas nichtmehr passiert?
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat