Ver Mensaje Individual
  #3  
Antiguo 23-02-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Reputación: 14
ivantj24 Va por buen camino
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 [-]
//unit 1

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 [-]
//unit2
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; //habilito el formulario Principal (unit1)
frmFondo.Destroy; //destruyo una form que pongo de fondo para que no se vea el formulario principal, es como un background y adelante de el solo queda el login para que no pueda continuar hasta que se logueen
frmInicioSesion.Destroy;//destruyo la form de Login para darle paso ahora si al formulario principal siempre y cuando este correcto
end;

Código Delphi [-]
//en la unit3 solo por el momento esto en el evento Onclose; ya que es la MDchild en la que quiero poner el DBgrid para que al dar de alta un usuario, tambien pueda ver que usuarios estan ya registrados pero aun no lo he hecho y es aqui el error que menciono a continuacion.

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' {frmPrincipal},
  Unit2 in 'Unit2.pas' {frmInicioSesion},
  Unit3 in 'Unit3.pas' {frmAltaUsuario},
  Unit4 in 'Unit4.pas' {frmFondo};

{$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

Última edición por Neftali [Germán.Estévez] fecha: 24-02-2011 a las 12:50:29.
Responder Con Cita