Création dynamique d'une classe
Bonjour à toutes & à tous,
Je cherche à réaliser quelque chose qui existe mais je ne me souviens plus comment le faire et mes recherches sont restées infructueuses...
Contexte:
Une classe A qui contient un champ de type classe V.
Le but étant de dériver la classe V, la passer en paramètre à l'objet de classe A qui va créer une instance de celle-ci.
Exemple:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
TClasseAderiver = class
PUBLIC
function WriteToStream( const pStream: TStream ): Boolean; virtual; abstract;
function LoadFromStream( const pStream: TStream ): Boolean; virtual; abstract;
end;
TClassContainer = class
PRIVATE
TheClass: TClasseAderiver;
PUBLIC
constructor Create( pSourceClass: TClasseAderiver );
procedure Save( const pStream: TStream );
procedure Load( const pStream: TStream );
end;
constructor TClassContainer.Create( pSourceClass: TClasseAderiver )
begin
TheClass := pSourceClass.Create;
end;
procedure TClassContainer.Save( const pStream: TStream );
begin
TheClass.SaveToStream( pStream );
end;
procedure TClassContainer.Load( const pStream: TStream );
begin
TheClass.LoadFromStream( pStream );
end; |
Bien entendu, ce code reflète ce que je désire obtenir mais ne fonctionne pas à la compilation...
Merci d'avance pour votre aide ! ;)