Ver Mensaje Individual
  #1  
Antiguo 27-03-2005
omar_e_rc omar_e_rc is offline
Miembro
 
Registrado: mar 2005
Posts: 32
Reputación: 0
omar_e_rc Va por buen camino
Interfaces en Delphi

Supongase que tengo una interface sobre una clase y mi clase es una clase abstracta. Como hago para tener 2 funciones con el mismo nombre ya que la directiva "override" no me funciona y me causa error. En ambos casos.


Código:
 type 
TVisitaListaObj = function(Dato1, Dato2: Pointer): Boolean of object;
TVisitaLista = function(Dato1, Dato2: Pointer): Boolean;
 
//Interface de Lista
ILista = interface(IUnknown)
['GUI']
	procedure Eliminar(Data: Pointer);
	procedure Insertar(Data: Pointer);
	function Buscar(Data: Pointer): Boolean;
	function ParaCadaElemento(var ARef;
	 F: TVisitaListaObj): Boolean; override;
	function ParaCadaElemento(var ARef;
	 F: TVisitaLista): Boolean; override;
end;
 
//Clase Abstracta de Lista
TLista = class(TInterfacedObject, ILista)
private
	FFuncionComparacion: TComparacionLista;
public
	constructor Create(F: TComparacionLista);
	procedure Eliminar(Data: Pointer); virtual; abstract;
	procedure Insertar(Data: Pointer); virtual; abstract;
	function Buscar(Data: Pointer):Boolean; virtual; abstract;
	function ParaCadaElemento(var ARef;
	 F: TVisitaListaObj): Boolean; override; virtual; abstract;
	function ParaCadaElemento(var ARef;
	 F: TVisitaLista): Boolean; override; virtual; abstract;
end;
 
TListaDinamica = class(TLista)
private
	FL: TPNodoLista;
	function Compara(Dato: Pointer; var ARef): Boolean;
	function Encuentra(Dato: Pointer; var ARef): Boolean;
public
	constructor Create(F: TComparacionLista);
	procedure Eliminar(Data: Pointer); override;
	procedure Insertar(Data: Pointer); override;
	function Buscar(Data: Pointer):Boolean; override;
	function ParaCadaElemento(var ARef;
	 F: TVisitaListaObj): Boolean; override;
	function ParaCadaElemento(var ARef;
	 F: TVisitaLista): Boolean; override;
end;

Última edición por omar_e_rc fecha: 27-03-2005 a las 00:51:16. Razón: Error en Codigo
Responder Con Cita