Erro aplicação nova no Delphi 10.3.3
07/09/2023
0
Exception EAcessViolation in module SoftMed.exe at 0045DA9F
Access violation at adress 0085DA9F un module ''SoftMed.exe''. Read of adress 00000000.
Alguém pode me ajudar?
Juliano
Post mais votado
11/09/2023
no trecho:
// Abre a pesquisa
DM.ibdUsuario.Open;
DM.cdsUsuario.Open;
Open;
você está abrindo três vezes.
DM.cdsUsuario.Open;
deveria bastar.
Emerson Nascimento
Mais Posts
08/09/2023
Arthur Heinrich
Não é fácil de localizar estes problemas sem utilizar um debugger. Mas, como você diz que ocorre em outra máquina, pode ser outra coisa. Talvez relacionado a algo que a aplicação acessa, que não esteja disponível na outra máquina.
08/09/2023
Juliano
with DM.ibdUsuario do
begin
// Cria o SQL da pesquisa
Close;
SelectSQL.Clear;
SelectSQL.Add('SELECT T1.USU_ID, T1.USU_ATIVO, T1.USU_ADMINISTRADOR, ');
SelectSQL.Add('T1.USU_LOGIN, T1.USU_SENHA ');
SelectSQL.Add('FROM USUARIOS T1 ');
SelectSQL.Add('WHERE T1.USU_LOGIN = :USU_LOGIN ');
ParamByName('USU_LOGIN').AsString := Trim(edtUsuario.Text);
// Abre a pesquisa
DM.ibdUsuario.Open;
DM.cdsUsuario.Open;
Open;
.......
Conecto o banco de dados através de um arquivo .ini conforme a configuração no View Source:
var
vArqIni:TIniFile;
Caminho:string;
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.Title := 'SoftMed';
Application.CreateForm(TDM, DM);
Application.CreateForm(TfrmPrincipal, frmPrincipal);
//Configura arquivo .INI para o banco de dados
Caminho:='127.0.0.1/3050:C:\\SoftMedNew\\Banco_Dados\\DADOS.FDB';
DM.ibdDADOS.Close;
if not(FileExists(extractfilepath(ParamStr(0))+'Config.ini') ) then
begin
ShowMessage('Arquivo de Configurações do Banco de Dados não Encontrado!');
vArqIni := TIniFile.Create(extractfilepath(ParamStr(0))+'Config.ini');
try
vArqIni.WriteString('BANCO','DatabaseName',Caminho);
DM.ibdDADOS.DatabaseName:= Caminho;
finally
vArqIni.Free;
end;
end;
try
vArqIni := TIniFile.Create(extractfilepath(ParamStr(0))+'Config.ini');
Caminho :=vArqIni.ReadString('BANCO','DatabaseName',Caminho);
DM.ibdDADOS.DatabaseName:= Caminho;
finally
vArqIni.Free;
end;
try
DM.ibdDADOS.Open;
frmLogin := TfrmLogin.Create(nil);
frmLogin.ShowModal;
frmLogin.Hide;
frmLogin.Free;
Application.Run;
except
Application.MessageBox( 'Não foi possivel se conectar com o banco de dados.' + #13 +
'verifique se o arquivo de configuração está configurado, ' + #13 +
'ou se o servidor firebird está instalado em seu sistema.' + #13 +
'Verifique tambem se o Usuario secundario esta cadastrado.' + #13 +
'Entre em contato com suporte para esclarecer qualquer dúvida. (14) 99791-6531',
'Error Interno', mb_ok + mb_IconError );
Application.Terminate;
end;
end.
11/09/2023
Juliano
"Acess violation at adress 007FB44B in module "SoftMed.exe". Read off address 00000000"
12/09/2023
Juliano
no trecho:
// Abre a pesquisa
DM.ibdUsuario.Open;
DM.cdsUsuario.Open;
Open;
você está abrindo três vezes.
DM.cdsUsuario.Open;
deveria bastar.
Muito obrigado declarei o MidasLib e removi DM.ibdUsuario.Open deu certo
Clique aqui para fazer login e interagir na Comunidade :)