FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
|||
|
|||
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 |
#3
|
|||
|
|||
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 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
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 |
|