huhu!
also für mich hört sich das sehr sinnvoll an..
in die TTest einfach ne execute methode rein und diese abstrakt deklarieren.
das erspart lästiges typecasten...
ich selber wende das bei parserstrukturen an. eigentlich genau das selbe.
eine idee wäre noch deine TestControl klasse als singleton objekt zu implementieren und in jede von TTest abgeleitete klasse einen initialization block zu machen, welcher die klasse direkt am TTestControl objekt anmeldet..
dazu bräuchtest du noch eine kleine funktion die das objekt bereitstellt...
dazu würde ich die struktur folgendermaßen wählen:
Delphi-Quellcode:
ITest = interface
procedure Execute( .. );
end;
TTest = class( TInterfacedObject, ITest )
end;
TTest1 = class(TTest)
//...
public
//...
procedure Execute(...);
end;
function GetTest : ITest;
implementation
function GetTest : ITest;
begin
result := TTest1.Create;
end;
initialization
TestControl.RegisterTest(GetTest);
das ist bissl aus der struktur von dunit geklaut...
gruß
reli