FGarcia
16-06-2006, 20:54:20
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 [-] (http://www.clubdelphi.com/foros/#)
//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 [-] (http://www.clubdelphi.com/foros/#)
//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 [-] (http://www.clubdelphi.com/foros/#)
//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!!!!!!!
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 [-] (http://www.clubdelphi.com/foros/#)
//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 [-] (http://www.clubdelphi.com/foros/#)
//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 [-] (http://www.clubdelphi.com/foros/#)
//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!!!!!!!