Почему компилятор говорит, что реализация «отличается от предыдущего объявления», когда они выглядят одинаково?

у меня есть два блока, первый, мой интерфейс:

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;

второй модуль, мое объявление объекта:

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 ; // getting error !!
begin
  // ....
end;


procedure tmilitares.Iniciar(llave : Tllave); // getting error!!
begin
  // ....
end;

Я получаю сообщение об ошибке только в функции 'processso' и процедуре 'iniciar':

объявление 'Iniciar' отличается от предыдущего объявления
Объявление 'Proceso' отличается от предыдущего объявления.

Я заметил, что у них есть параметр массива. Тип параметра определяется в первом блоке, если я определяю эти типы во втором блоке, я получаю ту же ошибку, но она отображается в объявлении объекта. как я могу скомпилировать?

5
задан Rob Kennedy 25 May 2011 в 12:41
поделиться