Hallo !
Ich habe ein Problem: Ich benötige mehrere unterschiedliche TFrames zum Einfügen in ein Formular um unterschiedliche Infos anzuzeigen. Weiterhin benötige ich aber teilweise gleiche Methoden für die Steuerung dieser TFrames - klar, eine Schnittstelle mit virtuellen Methoden muss her....
Leider kann ich ja zu VCL-Komponenten nicht weitere Basisklassen hinzufügen, also brauche ich eine gemeinsame Basisklasse für alle TFrames, die eben diese Schnittstelle haben sollen. Wenn ich nun ein neues TFrame erzeuge (Basisframe) und die anderen davon ableite (anstatt von TFrame) dann geht es zunächst ! Ich kann mit dem Designer in den Frames herummalen, compilieren etc... Wenn ich aber deb BCB6 schließe und das Projekt neu öffne, kann ich immer noch compilieren und starten, ABER: wenn ich den Designer für die abgeleiteten TFrames aufrufe kommt die Fehlermeldung:
Fehler beim Lesen von xxxxxxFrame->TabOrder:
Eigenschaft TabOrder existiert nicht.
Wenn ich dann "abbrechen" drücke, kann ich das Frame garnicht mehr designen (als wäre es kein Formular) aber ich kann immerhin compilieren und starten.... Wenn ich "ignorieren" drücke, wird die Eigenschaft "OldCreateOrder" auf TRUE gesetzt und das Frame lässt sich zwar designen, aber während der Laufzeit bricht die Anwendung mit einem Fehler in der Basisklasse ab.
Also, normalerweise werde ich in C++ doch wohl in der Lage sein, Klassen abzuleiten, oder ist der Designer einfach nur zu dämlich, zu raffen, dass ich die Klasse abgeleitet habe ?? Wie könnte man das denn sonst machen ? Oder habe ich irgendwas vergessen ?
Vielen Dank für Antworten und Grüß,
André
Ich habe ein Problem: Ich benötige mehrere unterschiedliche TFrames zum Einfügen in ein Formular um unterschiedliche Infos anzuzeigen. Weiterhin benötige ich aber teilweise gleiche Methoden für die Steuerung dieser TFrames - klar, eine Schnittstelle mit virtuellen Methoden muss her....
Leider kann ich ja zu VCL-Komponenten nicht weitere Basisklassen hinzufügen, also brauche ich eine gemeinsame Basisklasse für alle TFrames, die eben diese Schnittstelle haben sollen. Wenn ich nun ein neues TFrame erzeuge (Basisframe) und die anderen davon ableite (anstatt von TFrame) dann geht es zunächst ! Ich kann mit dem Designer in den Frames herummalen, compilieren etc... Wenn ich aber deb BCB6 schließe und das Projekt neu öffne, kann ich immer noch compilieren und starten, ABER: wenn ich den Designer für die abgeleiteten TFrames aufrufe kommt die Fehlermeldung:
Fehler beim Lesen von xxxxxxFrame->TabOrder:
Eigenschaft TabOrder existiert nicht.
Wenn ich dann "abbrechen" drücke, kann ich das Frame garnicht mehr designen (als wäre es kein Formular) aber ich kann immerhin compilieren und starten.... Wenn ich "ignorieren" drücke, wird die Eigenschaft "OldCreateOrder" auf TRUE gesetzt und das Frame lässt sich zwar designen, aber während der Laufzeit bricht die Anwendung mit einem Fehler in der Basisklasse ab.
Also, normalerweise werde ich in C++ doch wohl in der Lage sein, Klassen abzuleiten, oder ist der Designer einfach nur zu dämlich, zu raffen, dass ich die Klasse abgeleitet habe ?? Wie könnte man das denn sonst machen ? Oder habe ich irgendwas vergessen ?
Vielen Dank für Antworten und Grüß,
André
Comment