Bonjour,

J'aimerais savoir s'il existe une méthode pour savoir si un objet implemente une interface ou une de ses descendantes. En effet la fonction Supports permet de savoir si un objet implemente une interface et uniquement celle la...


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
21
22
23
24
25
26
27
28
29
 
type
  IA = Interface
  ['{4D46A942-4D4B-4EDA-A66D-BACDE1514D53}']
  end;
 
  IB = interface(IA)
  ['{D350D13E-50BC-482A-AAD2-7F54672A4A89}']
  end;
 
  TB = class(TInterfacedObject,IB)
  end;
 
implementation
 
procedure TForm1.LogbookButtonClick(Sender: TObject);
var
  lB : TB;
begin
  lB := TB.Create;
  try
    if Supports(TB,IA) then      
      Showmessage('supports')
    else
      Showmessage('doesnt support'); // on passe ici
  finally
    lB.Free;
  end;
end;
Merci d'avance