Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Zurück geliefertes Objekt "halten"

  Alt 2. Mär 2006, 11:03
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;
Andreas
  Mit Zitat antworten Zitat