Ver Mensaje Individual
  #8  
Antiguo 01-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Cita:
Empezado por delphi.com.ar Ver Mensaje
El requisito en sí es que implementes obligatoriamente todos los métodos de la interfaz, y como todas las interfaces heredan de IInterface, si heredas de un objeto que no haya implementado ninguna interfaz, te verás obligado a implementar sus métodos: (QueryInterface, _AddRef y _Release)
Código Delphi [-]type IInterface = interface ['{00000000-0000-0000-C000-000000000046}']
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
function _AddRef: Integer; stdcall;
function _Release: Integer; stdcall;
end;


Por eso si queremos crear un objeto simple, heredado de TObject que implemente una interfaz, podemos usar TInterfacedObject como parte de su linaje .

Resumiendo nuevamente, como TMaskEdit es un TComponent puedes hacer exactamente lo que describes.


PD: Dec, creía haberme enredado como de costumbre en la explicación
Gracias Federico. Haz hecho que mi corazón volviera a latir... ya me estaba asustando...

Pues yo venía haciendo como tu dices: heredando de TInterfacedObject para evitar darle las declaraciones. Como la ayuda dice que conviene heredar de él... pues asi le metí. Y asumí que así se debía trabajar siempre.

Esto de estar leyendo de muchos lados hizo una ensalada en mi cabeza.
No digas que tu no te supiste explicar, el tarado soy yo que no puso la debida atención y al hecho de leer de cualquier lado.

Nuevamente gracias, evitaste que tuviera que ir al cardiologo.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita