rotina de logon

Delphi

11/05/2004

para fazer logon em um sistema usei um rotina no formcreate do frmPrincipal, a rotina de logon chama o frmLogon que tem um botao OK e Cancelar. Se digitar tudo certinho blz, mas se clicar em cancelar da erro porque tenta conecta apesar de chamar o frmPrincipal.formClose no OnClick do botao cancelar.

Nao sei se deveria abrir o zMySqlDatabase em outro lugar ou se esta certo abrir no frmPrincipal. Ou se deveira chamar a tela de Logon de outro lugar...

Uso Delphi6+zeos+Mysql


Evecar

Evecar

Curtidas 0

Respostas

Tnaires

Tnaires

11/05/2004

Ao invés de chamar frmPrincipal.Close, chame Application.Terminate.


GOSTEI 0
Evecar

Evecar

11/05/2004

[i:53d0dc50ef]Ao invés de chamar frmPrincipal.Close, chame Application.Terminate[/i:53d0dc50ef]

Tentei tb mas o erro persiste! Inclusive no formClose fechava a coneccao e dava um application.terminate; mas continua dizendo que o Transaction nao esta definido. Porem eu executo:
procedure TfrmPrincipal.FormCreate(Sender: TObject);
begin
frmPrincipal.TimerPrincipal.Enabled:=false;
frmPrincipal.Caption:=´SpeedToys 0.4´;
nProximaAgenda:=Now;
AbreMySql();               // Aqui abre zMySqlDatabase e zMySqlTransaction
Logoff1Click(Sender);  // Login/Senha (BtnCancelar=>frmPrincipal.Close)
UppdateTitulos(); // <= Ocorre o erro numa instrusao sql aqui dentro
end;

procedure TfrmPrincipal.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
ShowMessage(´desconectando...´);
if zMySpeed.Connected then begin
   zQyTitulos.Active:=False;
   zQyOpcoes.Active:=False;
   dsQyTitulos.Destroy;
   dsOpcoes.Destroy;
   zTrSpeed.Destroy;
   zMySpeed.Destroy;  // A rigor soh precisaria dessa linha !
end;   
ShowMessage(´terminando...´);
Application.Terminate;
end;



GOSTEI 0
Tnaires

Tnaires

11/05/2004

Não no OnClose do frmPrincipal, simplesmente no OnClick do botão Cancelar da tela de Logon. Sem nenhuma outra instrução, simplesmente:
procedure frmLoginButton1.Click(Sender: TObject)
begin
  Application.Terminate;
end;

A idéia é: se o usuário não quiser entrar no sistema, não há necessidade d fazer nenhuma conexão.


GOSTEI 0
POSTAR