Wenn du ein IDispatch - Interface verpackt in einem Variant (genauer OleVariant) bekommst,
musst du dieses in einer Variablen ablegen:
Delphi-Quellcode:
TForm1 = class(TForm)
....
private
Fdxstest : OleVariant;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// Interface holen und merken
Fdxstest := dxs.CreateBool('DXSTEST');
// dadurch wird der Referenzzähler um eins erhöht
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
// Interface freigeben
Fdxstest := Unassigned;
// dadurch wird der Referenzzähler um eins erniedrigt
// wenn das Formular freigegeben wird, wird "Fdxstest" auch freigegeben
// man muss also OleVariant nicht unbedingt "löschen"
end;