ok gracias por la sugerencia, mira uso 4 units, en la primera manejo esto, y estoy comenzando la aplicacion apenas por lo cual solo he probado hacer una MDIChild, y es aqui en donde me marca error por eso no he continuado,
Código Delphi
[-]
procedure TfrmPrincipal.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels.Items[2].Text:= 'Hora Atual: '+ TimeToStr(time);
StatusBar1.Panels.Items[3].Text:= 'Fecha Atual: '+ DateToStr(date);
end;
procedure TfrmPrincipal.DardeAlta1Click(Sender: TObject);
begin
if frmAltaUsuario = Nil then
begin
Application.CreateForm(TfrmAltaUsuario, frmAltaUsuario);
frmAltaUsuario.Show;
end;
end;
procedure TfrmPrincipal.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
frmAltaUsuario := nil;
end;
end.
Código Delphi
[-]esta es la que esta en estado de fsStayOnTop ya que es el Login, si el usuario y contrasenia estan bien entonces
begin
edtUsuario.Clear;
edtPassword.Clear;
frmPrincipal.Enabled:=True; frmFondo.Destroy; frmInicioSesion.Destroy;end;
Código Delphi
[-]
procedure TfrmAltaUsuario.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
//y la unit 4 solo es un formulario de fondo, que se activa junto con el login para que no tengan acceso al formulario principal hasta que se logueen, es un fsStayOnTop sin nada de codigo
ahora todo bien, no pasa nada con ese codigo, pero si en la ventana MDIChil (unit3) coloco un DBGrid, el cual se conecta al DataSet que esta en la unit1(formulario principal), coloco 'uses unit1' y con ello lo conecto al DataSet1, y ejecuto el programa, para loguearme, me sale el loguin(unit2) y el background de fondo(unit4), entro correctamente con el user y password y al darle aceptar en el boton me marca el error como la imagen a continuacion
y me manda al project2 senialandome 'end'
Código Delphi
[-]
program Project2;
uses
Forms,
Unit1 in 'Unit1.pas' ,
Unit2 in 'Unit2.pas' ,
Unit3 in 'Unit3.pas' ,
Unit4 in 'Unit4.pas' ;
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TfrmPrincipal, frmPrincipal);
Application.CreateForm(TfrmFondo, frmFondo);
Application.CreateForm(TfrmInicioSesion, frmInicioSesion);
Application.Run;
end.
por favor si alguien me pudiera explicar que puede ser, ya me canse de comenzar el proyecto quitando algunos formularios y la idea principal que tenia, gracias