Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-04-2008
Avatar de afunez2007
afunez2007 afunez2007 is offline
Miembro
 
Registrado: oct 2007
Ubicación: La Ceiba, Honduras
Posts: 170
Poder: 17
afunez2007 Va por buen camino
Creacion de un Frame

Hola Tengo el siguiente lio:

Tengo 2 forms y frame(creado a traves de la opcion File>New>Frame)

El asunto es el Form1 es el Main, tiene un boton para crear el Form2, hasta aqui todo esta bien, el problema es el form2 hay un boton para crear el Frame, pero no logro conseguirlo,

El codigo para crear el frame es el siguiente (Evento Click del Boton en el Form2):

Código Delphi [-]
var
  Form2: TForm2;


implementation

uses Unit4;

{$R *.dfm}

procedure TForm2.SpeedButton1Click(Sender: TObject);
begin
Frame4:=TFrame(ClaseFrame).Create(Self);
Frame4.Parent:=Self;
end;

y los errrores que salen son los siguientes:

Cita:
[Error] Unit2.pas(33): Undeclared identifier: 'Frame4'
[Error] Unit2.pas(33): Undeclared identifier: 'ClaseFrame'
[Error] Unit2.pas(34): Missing operator or semicolon
[Fatal Error] Project1.dpr(7): Could not compile used unit 'Unit2.pas'
Gracias por Adelantado!!

Última edición por dec fecha: 24-04-2008 a las 19:13:18.
Responder Con Cita
  #2  
Antiguo 24-04-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A simple vista no se ve que declarada la variable "Fram4". Tal vez está en "Unit4", tal vez no. Desde luego el compilador se queja de que no ve la declaración, por lo que esta no debe estar en lado alguno, y así no puede compilarse el programa.

El segundo problema es similar al primero: no se encuentra la declaración del identificador "ClaseFrame". Aunque aquí tal vez hay algo más que decir, puesto que la siguiente instrucción:

Código Delphi [-]
Frame4 := TFrame(ClaseFrame).Create(Self);

Y que debería quedar, más o menos como sigue:

Código Delphi [-]
Frame4 := TClaseFrame.Create(Self);

No sé hasta qué punto he acertado o no. Y no sé hasta qué punto he podido ayudarte en algo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 24-04-2008
Avatar de afunez2007
afunez2007 afunez2007 is offline
Miembro
 
Registrado: oct 2007
Ubicación: La Ceiba, Honduras
Posts: 170
Poder: 17
afunez2007 Va por buen camino
he probado el codigo que me dices y me sigue dando error:

Cita:
[Error] Unit2.pas(35): Undeclared identifier: 'Frame4'
[Error] Unit2.pas(35): Missing operator or semicolon
[Fatal Error] Project1.dpr(9): Could not compile used unit 'Unit2.pas'
El codigo esta asi:

Código Delphi [-]
var
  Form2: TForm2;

implementation

uses Unit4, Unit3, Unit5;

{$R *.dfm}

procedure TForm2.SpeedButton1Click(Sender: TObject);
begin
Frame4 := TClaseFrame.Create(Self);
end;

Saludos y Gracias por sus comentarios

Última edición por dec fecha: 24-04-2008 a las 19:31:33.
Responder Con Cita
  #4  
Antiguo 24-04-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No se trataba tanto de probar el código que yo he propuesto, puesto que sería complicado que te funcionase tal cual, en este caso. El asunto es que comprendas qué quiere decir el error: "Undeclared identifier: 'Frame4'".

El compilador te está diciendo, "de acuerdo, veo que quieres usar la variable "Frame4", pero, ¿dónde está esa variable? No la veo declarada. Y así no puedo seguir.". Así que no se trata de copiar y pegar una posible solución, sino de saber qué está fallando y porqué.

Ahora bien, ¿dónde está declarada la variable "Frame4"? Tal vez, pero sólo tal vez, puedas declararla localmente, más o menos de este modo:

Código Delphi [-]
var
  Frame4: TClaseFrame;
begin
  Frame4 := TClaseFrame.Create(Self);
end;

PD. Atento a las etiquetas "DELPHI" que uso en mi mensaje. ¿Verdad que el código fuente se ve mejor? Pues tú puedes hacer lo mismo en tus mensajes. Voy a editar el anterior para que tú a su vez puedas hacer lo mismo y ver el uso que hago de las correspondientes etiquetas "DELPHI".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 24-04-2008
Avatar de afunez2007
afunez2007 afunez2007 is offline
Miembro
 
Registrado: oct 2007
Ubicación: La Ceiba, Honduras
Posts: 170
Poder: 17
afunez2007 Va por buen camino
Perdon por mi ignorancia, el tema que es mi primera vez con este tema de los Frame forms, no tengo ninguna experiencia en el asunto, por lo tanto no se como declarar.

Mi idea principal era tener una aplicacion que tenga un main form, con botones para crear nuevos forms a los cuales llamare modulos, dentro de cada form modulo deberia tener forms que se desplieguen sobre estos.

El asunto es que intente hacerlo con MDIs, sin embargo me aconsejara que en vez de MDIs, utilizara Frame Forms.

Entonces el punto es que no he podido lograr un boton en el form2(modulo1) que ejecute un Frame form.

Saludos y Gracias
Responder Con Cita
  #6  
Antiguo 25-04-2008
Avatar de grandmasterdari
grandmasterdari grandmasterdari is offline
Miembro
 
Registrado: ene 2008
Posts: 46
Poder: 0
grandmasterdari Va por buen camino
Post Pregunta

¿por las dudas estas dentro de un proyecto? ( ...project->new->...)
Responder Con Cita
  #7  
Antiguo 25-04-2008
Avatar de afunez2007
afunez2007 afunez2007 is offline
Miembro
 
Registrado: oct 2007
Ubicación: La Ceiba, Honduras
Posts: 170
Poder: 17
afunez2007 Va por buen camino
Hola

Te explico:
Un proyecto Nuevo, 2 forms (Form1=Main form, Form2 = Modulo1), y un Frame creado a travez de la opcion File>New>Frame

El Form1 tiene un boton para ejecutar/Crear el form2
El Form2 Hay un boton para ejecutar/Crear el Frame1

El problema esta en el boton del form2 que crea el Frame

Saludos y Gracias
Responder Con Cita
  #8  
Antiguo 25-04-2008
Avatar de grandmasterdari
grandmasterdari grandmasterdari is offline
Miembro
 
Registrado: ene 2008
Posts: 46
Poder: 0
grandmasterdari Va por buen camino
Post Intento de solucion 01

en mi mundo esto se haria asi

Código:
     Form1->Enabled=false;
    InternosF=new TInternosF(Application);
    InternosF->ShowModal();
    delete(InternosF);
    Form1->Enabled=true;
creo que te falto el showmodal(), y si por las dudas resolves tu problema, no te molestes en avisar, nos agrada no saber que paso

Última edición por grandmasterdari fecha: 25-04-2008 a las 01:08:37.
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
Frame y setfocus mjjj Varios 3 09-01-2008 19:49:57
Orden de Creación. Form y Frame gluglu Varios 8 20-02-2007 19:24:50
Minimizar un Frame fmonte JAVA 0 19-04-2005 01:53:51
Guardar Frame... chechu Varios 3 28-10-2004 19:15:35
Frame gonzjos OOP 1 08-12-2003 15:10:47


La franja horaria es GMT +2. Ahora son las 05:53:55.


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