Hi,
ich hab ein kleines Problemchen, da Delphi nicht ganz kapiert, was ich will. Da ich ein wenig mit
OOP rumspielen muss, habe ich eine Basis-TDataModule-Klasse, die ungefähr so aussieht:
Delphi-Quellcode:
type
TBaseModule = class (TDataModule)
{...}
end;
Nun sieht das auch ganz schnuckelig aus. Es wird keine
DFM-Datei eingebunden, weil ich der Meinung war, dass ich keine brauche, da sich keine Komponenten auf dem Modul befinden, sondern nur ein paar Felder und ein paar Methoden (teilweise abstrakt). Nun habe ich aber eine Nachfahren-Klasse, die ungefähr so aussieht:
Delphi-Quellcode:
type
TChildModule = class (TBaseModule)
{...]
end;
Hier wird eine Resourcen-
DFM-Datei eingebunden, weil sich hier auch einige non-visuelle Komponenten befinden (außerdem werden die abstrakten Methoden implementiert).
Soweit so gut. Das Problem ist, dass Delphi nicht kapiert, dass es sich bei
TChildModule um ein Datenmodul handelt, sondern es wie ein Formular behandelt. Das ist schlecht, sehr schlecht sogar, weil in der
DFM von
TChildModule stehen Dinge drin, die gar nicht existieren, wie z.B. die Eigenschaft
Color. Das ist deswegen schlecht, weil dem entsprechend auch die Meldung beim Starten des Programmes kommt:
Zitat:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt xpFileMoverDemo.exe ist eine
Exception der Klasse EReadError mit der Meldung 'Eigenschaft Color existiert nicht.' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Wie kann man Delphi dazu bringen, dass er die
DFM einfach in Ruhe lassen soll, oder die Klasse
TChildModule wie ein Datenmodul handhaben soll?
Chris