Bonjour,


Je veux utiliser une classe générique pour effectuer un traitement, on lui passera en paramètre de généricité une classe de chargement de fichier (class TCustomLoader).
Cette classe a un constructeur avec un paramètre (le nom du fichier).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

TCustomLoader = class(TObject)
public
  constructor Create(AParam: string); virtual;
end;

TWorkerClass< TCustomLoader , constructor> = class(TObject)
public
  procedure Run;
end;


procedure TWorkerClass<T>.Run;
var
  o : <T>;
begin
  o := T.Create('test'); // ne trouve pas le paramètre
  o := T.Create; // compilable
end;

Vu que j'ai spécifié la classe de base pour mon type générique, pourquoi delphi ne veut encore qu'un constructeur de base ?

Ai-je loupé quelque chose ?

Merci pour vos idées,
Vincent.