Einzelnen Beitrag anzeigen

neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#8

Re: Interface, Einsteigerproblem?

  Alt 24. Mär 2004, 17:43
Ein Fehler meinerseits!

Vergiss den is-Operator.

Deine Variante mit den QueryInterface ist ok.

Das biete ich an:

Delphi-Quellcode:
var aClass: TBaseClass;
    aInt : ITest2;
begin
// aClass := TBaseClass.Create;
  aClass := TTestClass.Create;

  // 1. Variante
  if aClass.GetInterface(ITest2, aInt) then
     aInt.Test2
  else
     ShowMessage('ITest2 nicht existent!');


  // 2. Variante
  try
    (aClass as ITest1).Test1;
  except
    on E:EIntfCastError do
       ShowMessage('ITest1 nicht existent!');
  end;
  try
    (aClass as ITest2).Test2;
  except
    on E:EIntfCastError do
       ShowMessage('ITest2 nicht existent!');
  end;
end;
Ich verwende beide, je nachdem.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat