Types Incompatibles
Tengo este error
[Error] clsListValidator.pas(106): Incompatible types: 'TDocumentoNovo' and 'IDocument'Esta es la procedure Código:
procedure TListValidator.Validate(Documento: IDocument); procedure Validate(Documento: TDocumentoNovo');overload; O sea, la declaracion es Overload y si es Overload, ella deberia aceptar otros tipos de parametros o cantidad o mismo retorno diferente(si es una funcion). Entonce, porque el error? |
Un amigo me lo dijo que puede ser que no ha hecho la implementacion de Interface IDocument en la classe TDocumentoNovo. Si es esto, como lo hago, o sea, implementar una Interface en una Classe en Delphi: En Java seria:
public class Nombre implements INombre.... Pero en Delphi no lo se. |
Hola...
Saludos... |
Primero que todo: Creo que estás mal interpretando la instrucción OVERLOAD. Overload no quiere decir que una rutina acepta cualquier tipo de dato. Overload significa que pueden haber un polimorfismo de una rutina.
Segundo: En la declaración de Validate indicas que esperas un dato de tipo TDocumentoNovo. Pero en la implementación indicas que es de IDocument. Sin embargo algo está faltando aquí, pues antes que todo el compilador te debería indicar que hay una diferencia entre la declaración e implementación de la unidad al ser distinto el tipo de dato de **Documento**. Podrías empezar declarando otra forma de Validate, una que trabaje con IDocument, si es que aún no la tienes. Saludos, Chris |
Bueno, este procedimento estas en una Unit llamada de: clsLisValidator y la procedure Validator es esta:
procedure Validate(Documento: IDocument) y su implementacion es la que puzo en primer post. Ahora hay una Interface la Pocedure Validator estas declarada asi: procedure Validate(Documento: TDocumentoNovo);overload; Ahora, tengo percebido que puede estar en un componente, pues tengo uno aca llamado INTERFACE. |
La interface IDocument
Código:
type Código:
ype |
A Unit com a Interface IValidator
Código:
interface Código:
type |
Hola...
Paulao, usa la etiqueta [delphi] en lugar de [code] cuando publiques código fuente en Delphi. Según leo en el código, tienes comentada la declaración del procedimiento Validate(Documento: IDocument);. ¿Así estás tratando de compilar tú código? Por que si es así, es por eso que obtienes el error. Saludos... |
No, no estas. Yo hizo esto para un teste aca y si quedo quando hizo una copia para postar aca, pero todo estas cierto, nada comentado.
|
La franja horaria es GMT +2. Ahora son las 22:51:36. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi