Registriert seit: 2. Mär 2004
5.508 Beiträge
Delphi 5 Professional
|
Re: Wie unterscheiden ?
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
|
|
Zitat
|