Einzelnen Beitrag anzeigen

Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#7

Re: Interface, Einsteigerproblem?

  Alt 24. Mär 2004, 09:06
Ich habe meinen Code jetzt noch mal ein wenig abgespeckt:
Delphi-Quellcode:
type

  ITest1 = interface
  ['{BC490D6F-306F-4FC5-AF6A-D76B39658B9F}']
    procedure Test1;
  end;

  ITest2 = interface
  ['{BDCB2821-FC57-4729-A1C0-9CEF3A28F72A}']
    procedure Test2;
  end;

  TBaseClass = class(TInterfacedObject, ITest1)
  public
    procedure Test1; virtual;
  end;

  TTestClass = class(TBaseClass, ITest2)
  public
    procedure Test2;
    procedure Test1; override;
  end;

...

procedure TForm1.Button1Click(Sender: TObject);
var aClass: TBaseClass;
    aInterface1: ITest1;
    aInterface2: ITest2;
begin
  aClass := TBaseClass.Create;

  if aClass.QueryInterface(ITest1,aInterface2) = S_OK
  then aInterface2.Test2;
  if aClass.QueryInterface(ITest2,aInterface1) = S_OK
  then aInterface1.Test1;
end;
Damit ist er jetzt eigentlich sehr einfach geworden. Wenn Du aber trotzdem nachschauen könntest, wäre es schön. Interessieren würde es mich!
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat