Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-05-2011
erickperez6 erickperez6 is offline
Miembro
 
Registrado: may 2003
Posts: 152
Poder: 24
erickperez6 Va por buen camino
problema al implementar Interface y variables tipo arreglos!!

Tengo la siguiente interface declarada en una unit:

Código:
use personas

interface

type
  Tllave = array[0..31] of byte;
  Tdatos = array of byte;

  ImyInterface = interface(IInterface)

    function nombre : string;
    function edad : integer;
    procedure resetear;
    function Proceso(datos : tdatos; cantidad : integer) : integer ;    
    procedure Iniciar(llave : Tllave);
  end;
....
En otra unit tengo la declaracion de mi objeto que utilizara la interface ya definida:

Código:
use militares

interface

uses personas;

type

  Tmilitares = Class(TInterfacedObject, ImyInterface )
    public
      function nombre : string;
      function edad : integer;
      procedure resetear;
      function Proceso(datos : Tdatos; cantidad : integer) : integer ;    
      procedure Iniciar(llave : Tllave);
    published
      constructor create;
  end;

implementation

function tmilitares.Proceso(datos : tdatos; cantidad : integer) : integer ; // error aqui !!
begin
  // ....
end;


procedure tmilitares.Iniciar(llave : Tllave); // error aqui !!
begin
  // ....
end;
El error arrojado es: declaration of 'Iniciar' differs from previous declaration y declaration of 'Proceso' differs from previous declaration. Como he podido observar, este error solo me sucede con los procedimientos y funciones que utilizan una definicion de tipos especiales en los parametros (arreglos), despues en las otras funciones que estan declaradas no hay ningun problema, solo con estas dos. El mensaje de error me habla que difieren las declaraciones con la definicion que esta en el objeto mas arriba, pero no veo ninguna diferencia.

Creo que no es la forma correcta de declarar estas funciones o procedimiento cuando tienen arreglos definidos en sus parametros, pero no encuentro ninguna informacion que me oriente.
Responder Con Cita
  #2  
Antiguo 24-05-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Acabo de hacer una prueba y compila sin problemas.

Puede que tengas duplicada la declaración de los tipos TLlave y TDatos en dos o más unidades, y por ello el mensaje del compilador.

¿La declaración de los tipos de datos y las cláusulas Uses que nos muestras están completas?
Responder Con Cita
  #3  
Antiguo 24-05-2011
erickperez6 erickperez6 is offline
Miembro
 
Registrado: may 2003
Posts: 152
Poder: 24
erickperez6 Va por buen camino
Thumbs up

si, el codigo no estaba 100% completo, removi algunas referencias que pense que no eran importantes, y efectivamente estaban duplicados estos tipos en otras unidades que se invocaban en el uses, nunca se me iba a ocurrir este detalle, pues dos cabezas piensan mas que una.

muchas gracias,
Responder Con Cita
  #4  
Antiguo 24-05-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
De nada, para eso estamos entre colegas.

Suerte con los militares (ahora entiendo por qué lo del algoritmo de cifrado confiable).
Responder Con Cita
  #5  
Antiguo 25-05-2011
erickperez6 erickperez6 is offline
Miembro
 
Registrado: may 2003
Posts: 152
Poder: 24
erickperez6 Va por buen camino
no se te escapa una
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Implementar una propiedad de tipo TStringList masedano OOP 5 28-03-2011 22:12:21
Como obtener el tipo de interface del Disco Duro (IDE, SATA, SCSI, USB, etc) JoAnCa Varios 3 11-09-2010 17:10:07
Problema al implementar Pilas xeelons Varios 13 07-04-2010 13:58:36
Problema al implementar un bbcode en php gulder PHP 0 10-11-2008 14:05:00
problema con interface jimbob OOP 0 05-12-2007 10:31:53


La franja horaria es GMT +2. Ahora son las 20:32:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi