Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-06-2012
steelha steelha is online now
Miembro
 
Registrado: mar 2012
Posts: 158
Poder: 13
steelha Va por buen camino
Problema al cerrar ventana de login

Buenas tardes, tenia la necesidad de hacer un login que abriese primero que la ventana principal. Vi unos ejemplos de caral y trate de implementarlo pero el problema viene cuando encuentro al usuario y debe presentarse la ventana principal obtengo el siguiente error y no he podido solucionarlo. Por favor necesito de su ayuda:

Código Delphi [-]
 Application.Initialize;

  LoginForm := TfrmLogin.Create(Application);
  if LoginForm.ShowModal = ID_OK then
  begin
    LoginForm.Free; // o LoginForm.Hide
    Application.CreateForm(Tfrmprincipal, frmprincipal);
  end;

  Application.Run;

Este es el error justamente en la linea del if loginform:
Project prIglesia.exe raised exception class EAccessViolation with message 'Access violation at address 0045C04D in module 'prIglesia.exe'. Read of address 000002F4'. Process stopped. Use step or Run to continue.

Acontunuacion coloco el codigo del login form:
unit ufrmlogin;

interface

Código Delphi [-]
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, RzForms, StdCtrls, IniFiles, DB, ADODB;

type
  TfrmLogin = class(TForm)
    RzFormShape1: TRzFormShape;
    Label1: TLabel;
    Label2: TLabel;
    edUsuario: TEdit;
    edClave: TEdit;
    btEntrar: TButton;
    btCerrar: TButton;
    ADOConnection: TADOConnection;
    qryUsuario: TADOQuery;
    procedure btCerrarClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btEntrarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    ini   : TIniFile;
    provider : string;
    source   : string;
    security : string;
    password : string;
    jet       : string;
    rutadb   : string;
    rutapr   : string;
    user     : string;
    fechalg  : string;
    cadenacn : string;
  end;

var
  frmLogin: TfrmLogin;

implementation

{$R *.dfm}

procedure TfrmLogin.btCerrarClick(Sender: TObject);
begin
  Application.Terminate;
end;

procedure TfrmLogin.FormCreate(Sender: TObject);
begin
  provider:= '';
  source  := '';
  security:= '';
  password:= '';
  jet      := '';
  rutadb  := '';
  user    := '';
  fechalg := '';
  cadenacn:= '';

  //Obtener Ruta donde se ejecuta la aplicacion
  rutapr := ExtractFilePath(Application.ExeName);

  //Verificar que exista el archivo de configuracion
  If not FileExists('Iglesia.ini') then
  Begin
    ShowMessage('Error en la aplicación, no existe componente principal de configuracion');
    Application.Terminate;
  end;

  //Crear o Abrir Archivo INI
  ini := TIniFile.Create(rutapr+'Iglesia.ini');

  //Leer Archivo INI
  provider:= ini.ReadString('DB','provider','');
  source  := ini.ReadString('DB','source','');
  security:= ini.ReadString('DB','security','');
  password:= ini.ReadString('DB','password','');
  jet      := ini.ReadString('DB','jet','');
  rutadb  := ini.ReadString('DB','ruta','');
  user    := ini.ReadString('LOGIN','user','');
  fechalg := ini.ReadString('LOGIN','fecha','');

  edUsuario.Text := user;

  //redireccionar la direccion de la DB
  source  := Trim(rutapr) + 'Data\' + Trim(source);

  //Liberar recurso INI
  FreeAndNil(ini);

  //Conectar a DB con los datos obtenidos desde el ini
  cadenacn:= 'Provider=Microsoft.Jet.OLEDB.4.0;'+
             'Password='+password+';'+
             'Data Source='+source+';'+
             'Persist Security Info=False';

  ADOConnection.Connected := False;
  ADOConnection.ConnectionString := cadenacn;
  ADOConnection.Connected := True;
end;

procedure TfrmLogin.btEntrarClick(Sender: TObject);
begin
  qryUsuario.Close;
  qryUsuario.SQL.Text := 'SELECT * FROM tblusuarios Where userid='+QuotedStr(Trim(edUsuario.Text))+' AND password='+QuotedStr(Trim(edClave.Text));
  qryUsuario.Open;
  If qryUsuario.RecordCount < 1 then
  begin
    ShowMessage('Usuario ó Clave erronea, intente de nuevo');
    edUsuario.SetFocus;
  end
  else
    frmLogin.Close;
end;

end.

Muchas gracias por cualquier ayuda
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ventana de Login al correr un programa Yasnet MySQL 12 16-11-2008 20:30:00
como crear una ventana de login wadhis Conexión con bases de datos 1 27-08-2008 09:47:26
Ayuda Con Ventana Para Login!!! jugomez MS SQL Server 5 23-10-2006 17:22:29
Problema al cerrar ventana de impresion salvanano Impresión 4 04-06-2005 20:21:20
Problema al cerrar una ventana noModal. Perenquen OOP 2 04-11-2004 14:35:43


La franja horaria es GMT +2. Ahora son las 17:41:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi