Ver Mensaje Individual
  #2  
Antiguo 16-04-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues no, en Delphi no se puede hacer esto. Una forma de darle la vuelta al problema podría ser insertar clases abstractas en una unidad común:

Código Delphi [-]
unit Comun;

interface

type
  // referencia adelantada
  TClaseAbstracta2 = class;

  TClaseAbstracta1 = class
     variable: TClaseAbstracta2;
  end;

  TClaseAbstracta2 = class
     variable: TClaseAbstracta1;
  end;

Entonces las clases TClase1 y TClase2 las derivas de éstas, cada una ya en su propia unidad:

Código Delphi [-]
unit Unit1;

interface

uses Comun;

type
  TClase1 = class(TClaseAbstracta1)
  end;

Código Delphi [-]
unit Unit2;

interface

uses Comun;

type
  TClase2 = class(TClaseAbstracta2)
  end;

Las clases abstractas en la unidad común simplemente declaran los métodos a usar con las directivas virtual y abstract de manera que no requieres poner nada en la sección implementation y entonces te queda una unidad bastante pequeña. La implementación real se hace en unidades separadas manteniendo, hasta cierto punto, la separación de clases que originalmente se quería.


Cita:
Empezado por melon
a ver si me pueden ayudar que es bastante urgente
Trata por favor de evitar este tipo de requerimientos. Aunque es entendible la urgencia que a veces tenemos, toma en cuenta que aquí cada cual ayuda en su tiempo disponible y sin ninguna obligación.

// Saludos
Responder Con Cita