Thema: Delphi Wie unterscheiden ?

Einzelnen Beitrag anzeigen

shmia

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

Re: Wie unterscheiden ?

  Alt 29. Mai 2007, 12:00
Delphi-Quellcode:
comObjType := CreateComObject(sCLSID) as IWMPEffects;
comObjType2 := CreateComObject(sCLSID) as IWMPEffects2;
Das wären ja 2 unabhängige Objekte. So macht das aber keinen Sinn.
Eher so:
Delphi-Quellcode:
var
  ef : IWMPEffects;
  ef2 : IWMPEffects2;
begin
ef := CreateComObject(sCLSID) as IWMPEffects;
// hier erst mal der ganze Code, der nur mit Methoden von IWMPEffects auskommt
ef.IrgendeinProperty := ...
ef.Machirgendwas;

// Mal schauen, ob das neuere Interface IWMPEffects2 unterstützt wird
if Supports(ef, IWMPEffects2, ef2) then
begin
   // Hurra, das neuere, bessere Interface wird vom Objekt unterstützt
   // das wollen wir gleich ausnützen
   ef2.RenderWindowed := ...
   
   ef2 := nil; // wir brauchen den Zeiger auf das IWMPEffects2 Interface nicht mehr
end
else
begin
   // Pech, wir müssen mit dem alten Interface auskommen
end;
Andreas
  Mit Zitat antworten Zitat