GARANTIR DESCONTO

Fórum erro em DataModule #196719

23/11/2003

0

O erro é o seguinte:

procedure TDM.DataModuleCreate(Sender: TObject); O CURSOR PARA NESTA LINHA


MANDA ESTAS MENSAGENS
[Error] UnitDM.pas(29): ´,´ or ´;´ expected but ´PROCEDURE´ found
[Fatal Error] UnitLogin.pas(35): Could not compile used unit ´UnitDM.pas´

SERÁ QUE ALGUM AMIGO PODERIA ME AJUDAR

a versão é do delphi 6 e estou usando o acces para banco de dados
desde já agradeço
Atenciosamente: Ana :?:


Ana Luzia

Ana Luzia

Responder

Posts

23/11/2003

Afarias

existe um erro de sintaxe, ao q parece na unit ´UnitDM.pas´ .

dê uma olhadinha com cuidado, não dá pra dizer onde está o erro pq vc postou muito pouco código.


T+


Responder

Gostei + 0

23/11/2003

Edilcimar

provavelmente o erro esteja em alguma linha anterior, pois aparentemente ali não há erro


Responder

Gostei + 0

23/11/2003

Lindomar.des

Ana,

Certamente vc (por descuido) retirou o ponto e vírgula (;) da linha anterior a que vc postou.

Lindomar Sampaio
Vila Velha-ES


Responder

Gostei + 0

23/11/2003

Ana Luzia

:?: oi amigos consegui resolver o erro do datamodule realmente faltava um ponto e vírgula na linha anterior um erro um pouco primário , mais como estou iniciando muito obrigada.
tentei de todas as formas descobrir o novo erro mais não conseguir acho por isso estou enviando o código do programa com as units correspondentes. Desde já agradeço a atenção.


estou criando um login e quando executo o programa está 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



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.


Responder

Gostei + 0

24/11/2003

Rafael Heise

Este erro é porque você está tentando acessar o valor de uma Table ou Query que não está aberta. Veja onde o debuger está parando e veja se a table ou query que você está usando está aberta. Se não tiver, abra ela (open).
blz?
o erro é esse!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar