Ver Mensaje Individual
  #3  
Antiguo 21-07-2005
Avatar de moesis
moesis moesis is offline
Miembro
 
Registrado: jun 2004
Ubicación: Islas Canarias
Posts: 46
Reputación: 0
moesis Va por buen camino
Agradecido por la contestación, te pongo parte del código que puede ser aclarativo para que te hagas una idea.

Código Delphi [-]
 type
   TfrmBrowser = class(TForm)
    ...
     pnlReceptor: TPanel;     // Aquí será incrustado el form.
    ...
   private
     { Private declarations }
     m_Padre : TComponent;
     m_Conexion : TSQLConnection;
     m_Datos : TDataSource;
     m_FormIncrustado: TComponent;    // Este es el causante 
     m_stTextoInformativo: String;
     m_idRegistro : Integer;
 
     { Funciones y procedimientos }
     ...
    procedure IncrustarDialogo;
     procedure LiberarDialogo;
     procedure SetFormularioIncrustado (const Valor: TComponent);
    ...
 
     { Propiedades }
    property Formulario : TComponent Read m_FormIncrustado Write SetFormularioIncrustado;

    { Public declarations }
     constructor Create(Owner: TComponent; aDialogo: TComponent); reintroduce; overload;
     destructor Destroy; reintroduce; overload;
   end;
 
 // Este es el método (público) que arranca el diálogo.
   procedure AbrirDialogo(pVentanaPadre: TComponent;
                        aTextoInfo : String;
                         aDialogo: TComponent;
                         aIdRegistro: Integer);

Código Delphi [-]
   TfrmEmpresas = class(TForm)
     Label2: TLabel;
     edtEmpresa: TRzEdit;
     Label3: TLabel;
     edtDireccion: TRzEdit;
     Label4: TLabel;
     edtCodigoPostal: TRzEdit;
     Label5: TLabel;
     edtCorreoElectronico: TRzEdit;
     Label6: TLabel;
     edtFax: TRzEdit;
     Label7: TLabel;
     edtTelefonos: TRzEdit;
     Label8: TLabel;
     edtContacto: TRzEdit;
   private
     { Private declarations }
     procedure SetEmpresa (const Value : String);
     procedure SetDireccion (const Value : String);
     procedure SetCodigoPostal (const Value : String);
     procedure SetCorreoElectronico (const Value : String);
     procedure SetFax (const Value : String);
     procedure SetTelefonos (const Value : String);
     procedure SetContacto (const Value : String);
 
     function GetEmpresa : String;
     function GetDireccion : String;
     function GetCodigoPostal : String;
     function GetCorreoElectronico : String;
     function GetFax : String;
     function GetTelefonos : String;
     function GetContacto : String;
   public
     { Public declarations }
 
   published
     { Declaraciones publicadas }
     property Empresa : String Read GetEmpresa Write SetEmpresa;
     property Direccion : String Read GetDireccion Write SetDireccion;
     property CodigoPostal : String Read GetCodigoPostal Write SetCodigoPostal;
     property CorreoElectronico : String Read GetCorreoElectronico Write SetCorreoElectronico;
     property Fax : String Read GetFax Write SetFax;
     property Telefonos : String Read GetTelefonos Write SetTelefonos;
     property Contacto : String Read GetContacto Write SetContacto;
   end;

La clase TfrmEmpresas que es la que quiero incrustar, siempre será diferente, por lo que no es posible hacer una herencia, ya que los campos que contiene no coinciden en la mayoría de los casos.

Y lo de published no funciona pues debes indicarle de alguna forma que esa clase tiene esos métodos pues como puedes observar el form está siendo tratado como si fuera un TComponent.

Saludos desde Canarias
__________________
ø¤º° Moesis °º¤ø
Dios nos ha dado dos orejas y una boca para escuchar el doble de lo que hablamos.
Consulta la Guía de Estilo.
Responder Con Cita