erro na execução

Delphi

23/11/2003

esta ocorrendo o seguinte erro: a Caixa Debugger Exception Notification
manda esta mensagem: Project faetec.exe raised exception class EdatabaseError with message ‘TableUsers: Cannot perform this operation on a closed dataset&8217;. Process stopped Use Step or Run to continue

OBS: O Banco de dados que estou usando é o access



program faetec;

uses
Forms,
UnitSgf in ´UnitSgf.pas´ ,
UnitLogin in ´UnitLogin.pas´ ,
UnitDM in ´UnitDM.pas´ {DM: TDataModule};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TfrmSgf, frmSgf);
Application.CreateForm(TDM, DM);
Application.Run;
end.










unit UnitSgf;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus, Buttons;

type
TfrmSgf = class(TForm)
MainMenu1: TMainMenu;
Cetep: TMenuItem;
Etesc: TMenuItem;
Cooperativa: TMenuItem;
Utilitarios: TMenuItem;
Aplicativos: TMenuItem;
Ajuda: TMenuItem;
Sair: TMenuItem;
Cadastar1: TMenuItem;
Pesquisar1: TMenuItem;
Pesquisar2: TMenuItem;
Cadastrar2: TMenuItem;
Cadastrar3: TMenuItem;
Pesquisar3: TMenuItem;
Grafico1: TMenuItem;
ArquivoMorto1: TMenuItem;
MicrosoftWord1: TMenuItem;
MicrosoftExcel1: TMenuItem;
Manual1: TMenuItem;
FecharoSGF1: TMenuItem;
Calculadora1: TMenuItem;
BitBtn1: TBitBtn;
Senhas1: TMenuItem;
procedure btnfecharClick(Sender: TObject);
//procedure btnControleDeAcessoClick(Sender: TObject);
//procedure FecharoSGF1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
frmSgf: TfrmSgf;

implementation

uses UnitLogin, UnitDM;

{$R *.dfm}

procedure TfrmSgf.btnfecharClick(Sender: TObject);
begin
Close; //Fecha o formulário
end;

//procedure TfrmSgf.btnControleDeAcessoClick(Sender: TObject);
//begin
// frmControleDeAcesso.Show; //Abre o formulário tornando-o visível
//end;

//procedure TfrmSgf.FecharSGF1Click(Sender: TObject);
//begin
// Close; //Fecha o programa SGF
//end;

end.





unit UnitLogin;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, db;

type
TfrmLogin = class(TForm)
lblNome: TLabel;
lblSenha: TLabel;
lblMensagem: TLabel;
btnOK: TButton;
btnCancelar: TButton;
edNome: TEdit;
edSenha: TEdit;
Image1: TImage;
pnlMensagem: TPanel;
procedure btnCancelarClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnOKClick(Sender: TObject);
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
frmLogin: TfrmLogin;
Contador:Integer;
implementation

uses UnitSgf, UnitDM;

{$R *.dfm}

procedure TfrmLogin.btnCancelarClick(Sender: TObject);
begin
frmSgf.close;
end;

procedure TfrmLogin.FormShow(Sender: TObject);
begin
edNome.SetFocus; // Ao abrier o formulário, o componente recebe o foco
end;

procedure TfrmLogin.btnOKClick(Sender: TObject);
Var
ValorSenha:TStringField;
begin
if not DM.TableUsers.FindKey([edNome.Text]) then
Begin
pnlMensagem.Caption:=´ Login Recusado, Usuário desconhecido...´;
inc(Contador);
if Contador=4 then
frmSgf.Close;
edNome.SetFocus;
Exit;
end;
ValorSenha:=DM.TableUsers.FindField(´senha´) as tstringField;
if ValorSenha.Value<>edSenha.Text then
begin
pnlMensagem.Caption:=´Login Recusado, Senha invalida...´;
inc(Contador);
if contador=4 then
frmSgf.Close;
edSenha.SetFocus;
Exit;
end;
frmSgf.Enabled:=True;
frmLogin.Release;
end;
procedure TfrmLogin.FormClick(Sender: TObject);
begin
edNome.SetFocus; //ao abrir o formulário o compenente recebe o foco.
end;

end.





unit UnitDM;

interface

uses
SysUtils, Classes, DB, DBTables;

type
TDM = class(TDataModule)
TableUsers: TTable;
DataSourceUsers: TDataSource;
TableUsersNome: TStringField;
TableUsersSenha: TStringField;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
DM: TDM;

implementation

uses UnitSgf, UnitLogin;
{$R *.dfm}

procedure TDM.DataModuleCreate(Sender: TObject);
begin
frmSgf.Show;
frmLogin:=TfrmLogin.Create(Self);
frmLogin.Show;
end;

end.


Ana Luzia

Ana Luzia

Curtidas 0

Respostas

Rafaelgm

Rafaelgm

23/11/2003

A tabela está ativa? Verifique a propriedade ACTIVE do componente TTable.


GOSTEI 0
POSTAR