Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-06-2006
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Crear Form en ejecucion y OnCreate

Hola!
Pues eso! estoy haciendo una aplicacion en la que deseo crear un segundo formulario en tiempo de ejecucion, ya coloque mis forms secundarios en Project | Options | Forms | Availables Forms y hago este codigo.


Código Delphi [-]
//Menu Datos
procedure TForm1.Datos1Click(Sender: TObject);
begin
//Form2.ShowModal ; //Esto lo hacia antes cuando lo creaba automaticamente
if Form2 = nil then
Form2 := TForm2.Create(Self);
Form2.ShowModal ;

end;




al cerrar el form2


Código Delphi [-]
//Al cerrarse el formulario
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ConsultaDatos.Close;
ConsultaCuenta.Close ;
//Destruimos el Formulario y liberamos la memoria
Action := caFree;
Form2 := nil;
end;




Sin embargo me aparecen mensajes de error que al parecer esta relacionados con el codigo que se ejecuta en el evento Oncreate del Form2


Código Delphi [-]
//Al crearse el formulario
procedure TForm2.FormCreate(Sender: TObject);
begin

Form2.Color := RGB(134,196,152);
DBChart1.Color := RGB(134, 196, 152);
Panel1.Color := RGB(134,196,152);
Panel2.Color := RGB(134,196,152);
edMin.Visible := False;
edMax.Visible := False;
lblMin.Visible := False;
lblMax.Visible := False;
btnMinMax.Visible := False;
DBChart1.MaxPointsPerPage := 10000;
DBChart1.AllowPanning := pmHorizontal;
//Abrimos las consultas
ConsultaDatos.Open ;
ConsultaCuenta.Open ;
//Por defecto de DBChart no se aceptan cadenas en modo visual
//lo hacemos por codigo
DBChart1.Legend.Visible := False;
with DBChart1.SeriesList.Series[0] do
begin
DataSource := ConsultaDatos;
XLabelsSource := MDatos.ADOQuery1HoraFecha.FieldName;
CheckDataSource;
end;
miSQL := '';
Label9.Caption := InttoStr(MDatos.DataSource1.DataSet.RecNo );
RVProject1.ProjectFile := ExtractFilePath(ParamStr(0)) + '\Reporte.rav';
end;




No me aparecian mensajes de error cuando creaba el form2 automaticamente. ¿Que estoy haciendo mal? Gracias por la ayuda!

EDITO!!
Mi error esta aqui:

//Al crearse el formulario
procedure TForm2.FormCreate(Sender: TObject);
begin

Form2.Color := RGB(134,196,152); //NO DEBE SER FORM2.COLOR DEBE SER SELF.COLOR!!!!!!!

Última edición por FGarcia fecha: 17-06-2006 a las 00:46:59.
Responder Con Cita
  #2  
Antiguo 17-06-2006
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
los mensajes te aparecen al abrirlo por primera vez o en la segunda vez?
unos tips
no revises si es form2 = nil, usa if Assigned(Form2)
quitale lo de form2 = nil
Responder Con Cita
  #3  
Antiguo 17-06-2006
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Resuelto

Gracias Luis por responder

Edite posteriormente el mensaje. Ya resolvi el problema. Pero me queda una duda ¿cual es la diferencia entre el metodo que sugieres (Asigned) y Form2 := nil?

Gracias nuevamente
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
Cambiar el Caption de un Form en tiempo de ejecucion kikodelphi OOP 5 14-01-2012 22:54:22
ShowMessage dentro de OnCreate gluglu Varios 3 13-11-2005 16:44:04
Obtener Componentes de un form en tiempo de ejecucion el-Cubil.com.ar Varios 2 21-10-2005 18:22:11
como hago para minimizar un Form en tiempo de ejecucion y se coloque en la barra de t Shidalis Varios 3 20-10-2005 22:22:02
Cambio del Main Form en ejecución andresenlared Varios 1 06-01-2004 18:26:29


La franja horaria es GMT +2. Ahora son las 16:40:21.


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