Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Error: no se puede copiar el form o datamodule en otro (https://www.clubdelphi.com/foros/showthread.php?t=70217)

navas_10 07-10-2010 17:16:32

Error: no se puede copiar el form o datamodule en otro
 
Buenas tardes masters del delphi,
tengo un problemilla con la generación de una serie de frames en una serie de ttabsheets de un pageControl, no me deja copiar un frame heredado en una tabsheet, me salta el error: "Cannot paste a form or datamodule in another form or datamodule".
Me explico:

PageControl1
|_TsDatosIni: tTabSheet
|_Aquí querría insertar mi tFrameDatosIniciales

Definiciones:
tFrameDatosIniciales:
Código Delphi [-]
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, UFrameBase,
  StdCtrls, UDatosIniciales;
type
  TFrameDatosIniciales = class(TFrameBase)
    LabelDatosIniciales: TLabel;
    LabelResponsables: TLabel; ...


tFrameBase:
Código Delphi [-]
unit UFrameBase;

interface

uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,UDataModuleCon,DB, ADODB,
  StdCtrls,UListaGenerica;
type
  TFrameBase = class(TFrame)
    ButtonGrabar: TButton;
    procedure ButtonGrabarClick(Sender: TObject);virtual;abstract;
  private
    { Private declarations }
    ObjetoQueManipula: tObject;
  public
    { Public declarations }
    Constructor Create(O: tObject);
    Destructor Destroy;override;
    procedure LeerObjeto(TExtoSQL: string; var Query: tADOQuery);virtual;abstract;
    procedure GrabarObjeto(TExtoSQL: string; var Query: tADOQuery);virtual;abstract;
  end;


Alguien podría darme algo de luz?

Muchas gracias por anticipado!

Ñuño Martínez 13-10-2010 09:34:22

¿A qué te refieres con "copiar un frame heredado en una tabsheet"? No termino de comprenderlo.

navas_10 14-10-2010 10:00:30

Buenas, gracias por responder lo primero,
me refiero a que mi FrameDatosIniciales es clase heredada de FrameBase, típico frame genérico con mis funciones genéricas como grabar en BBDD y tal, y mi problema radica en que me da ese error que comentaba en el post anterior cuando trato de insertar mi FrameDatosIniciales en una TabSheet, si inserto el FrameBase me deja, pero el heredado no, por qué podría ser?

Saludos

Ñuño Martínez 14-10-2010 15:07:17

Aunque se puede heredar de forma directa un componente visual, lo de utilizarlo es otro cantar. ¿Has probado a crear el marco por código?

rastafarey 23-10-2010 05:17:19

Resp
 
Y donde insertar el frame en el tabsheet?.
En diseño en runtime donde por que no veo el codigo donde lo hagas.

navas_10 23-10-2010 12:40:03

Buenas gente,
pues ya lo solucioné, estuvimos el otro día con nuestro profesor, y nos dijo que a veces pasa, y que lo rehiciéramos de nuevo, y zas!! funciona, cosas que pasan, muchas gracias por las contestaciones de verdad!

Por si alguien en un futuro mira el hilo, hay que hacer simple, y llanamente:
Para crear un frame derivado del FrameBase teneis que seleccionar lo siguiente:
- File -> New -> Other -> Abrir la lengüeta de vuestro proyecto -> Localizar la declaracion de la clase frameBase -> Seleccionar OK.

Saludos

rastafarey 26-10-2010 02:19:31

resp
 
Eso se llama "herencia visual".


La franja horaria es GMT +2. Ahora son las 13:19:10.

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