Zitat von
xZise:
Das Hauptproblem ist selbst ohne abstrakten Methoden funktioniert das nicht
Oder müssen die nun abstrakt sein, damit er auch die richtige Methode aufruft?
Was bedeutet dabei nun "funktioniert nicht"? Wenn ich wieder auf die alte Aussage schliesse (abstrakter Fehler), dann kann dies in dem Falle nicht mehr sein.
Zitat von
xZise:
Laut Debugger ist in der AddFunktion "FSheets" und ehm "FTabs" nil
Dann wird nicht der richtige Constructor aufgerufen. Somit ist die Frage von inherited etc. gegeben. Schonmal den Konstruktoraufruf im Add() debuggt? Wenn du in die Zeile mit F7 hineinstoperst, dann solltest du durch den entsprechenden Konstruktor (nach dem die Ermittlung der Parameter abgehandelt wurde) kommen, welcher dann nach deinem Quellcode und Aussagen doch eigentlich FSheets und FTabs initialisiert. Wenn dem nicht so ist, dann ist das nicht der Constructor. (wobei ich die Konstruktoren von den beiden abgeleiteten Klassen nicht kenne)
Zitat von
xZise:
So ! Ich habe jetzt TTab komplett "deabstrahiert" xD und die Add Methode überladen (mit TMemoTab und TExplorerTab)
So funktionierts, aber das war nicht der Zweck des Vererben
Das ist auch nicht das gewollte und dein vorgestelltes Konzept klappt auch 100%ig so wie du es vorhast. Es ist ein anderes Problem. Diese Lösung musst du nicht weiter verfolgen/benutzen.