Bonjour,

je bute sur un problème lié à l'utilisation des interfaces sous delphi.

Ex :
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
 
type
  IInterfaceTest = interface
  end ;
 
  TTest = class(TInterfacedObject, IInterfaceTest )
  end ;
 
function TraiterObjetParInterface(UnIInterfaceTest : IInterfaceTest) ;
begin
  // faire des choses avec UnIInterfaceTest 
end ;
 
procedure MaFonctionDeTest ;
var
  UnTest : TTest ;
begin
   UnTest := TTest.Create ;
 
   TraiterObjetParInterface(UnTest) ;
    // arrivé ici, l'objet UnTest est déjà détruit !!!
 
end ;
Voila, je ne voudrais pas qu'il me détruise mon objet.
Bien sur, je pourrai appeler _Addref pour eviter la destruction, n'existe-t-il pas un moyen plus correct d'utiliser les interfaces tout en gardant le controle de l'objet ?

Merci d'avance