2008/5/18 Marc Santhoff <[EMAIL PROTECTED]>: > Since the compiler dod not warn about using the "as" operator I assume > it is safe? Like this: > > procedure TObservable.DeRegister( obsv: IObserver ); > var > i: integer; > begin > if (fObservers.count<=0) then exit; > for i:=0 to fObservers.count-1 do begin > if ((fObservers[i] as IObserver)=obsv) then begin
I'm not a big Interfaces expert, but as for as I know using 'as' like that with Interfaces actually translates to a QueryInterface() call internally, which is why it is allowed. I vaguely remember as issue between CORBA and COM interfaces and the 'as' call, because CORBA interfaces do not have a QueryInterface() implementation. Well, something like that... :-) Regards, - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal