TObject und dynamic_cast

GNiewerth

Grünschnabel
Hallo,

bin wieder auf ein lustiges Problem des BCB 6.0 gestossen. Ich habe in meiner MDI Anwendung MDI Formulare, die ausgedruckt werden können und andere Formulare, die nicht ausgedruckt werden können. Die ausdruckbaren Formulare erben neben TForm von einer abstrakten Klasse IPrintable, die die Methoden print() und preview() zur Verfügung stellen. Die ausdruckbaren Formulare implementieren die beiden Methoden.
Für die Aktualisierung der Menüpunkte (ausgegraut oder auswählbar) habe ich mir nun folgendes überlegt: Wenn der dynamic_cast<IPrintable*>( ActiveMDIChild ) NULL zurückgibt, ist das Formular nicht druckbar, ansonsten ist es druckbar und ich kann den Menüpunkt auswählbar machen. Leider macht mit Borland da einen Strich durch die Rechnung und gibt folgende Fehlermeldung aus:

E2031: Typumwandlung von TForm* nach IPrintable* nicht zulässig.

Weiß jemand Rat?
Guido
 
Zurück