Einzelnen Beitrag anzeigen

berens

Registriert seit: 3. Sep 2004
434 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Inkompatible Typen: 'IMyInterface' und 'TPersistent'

  Alt 25. Okt 2007, 00:09
Ok, zur Verteidigung von Delphi und Schlamperei meinerseits muss natürlich noch gesagt werden, dass dies (hab den Code ein paar Wochen nicht gesehen) keine einfache TComponentList ist, sondern vom Typ TLMDDesignObjects, was zwar auch eine Liste für Komponenten, aber keine TComponenList in diesem Sinne ist.

var
comp: TComponent;
begin
comp := TComponent(SelectedObjects[i]);
(comp as IMyInterface).DS := 1;

^-- scheint zu gehen

(TComponent(SelectedObjects[i]) as IMyInterface).DS := 1;

^-- scheint auch zu gehen



So, schon mal sehr gut dass wir soweit sind, Danke erstmal.

Diese Zeile kann man aber auf die Schnelle nicht mehr vereinfachen, denke ich mal?

Der "as" Operator prüft doch zur Laufzeit alle Objekte, ob die auch wirklich das Interface haben, sonst gibt's Exception. Korrekt, oder?

Danke nochmal für die Tips!
  Mit Zitat antworten Zitat