Debug Xe6
Bom Tarde,
Estou tralhando em projeto que está me tirando o sono. Nos outros projetos quando dá um erro de execução sql ou algum erro qlq, na maioria das vezes eu coloco o Try ...Except end;
Ao invés de mostrar a mensagem "Erro ao gravar bilhete......" aparece a mensagem de violação:
Mesmo eu fazendo o DEBUG aparece a mensagem de Violação.
Depois que dá essa mensagem, nem sair do programa eu consigo.
Eu testei, várias vezes o comando "clientdataset.locate" e apareceria a mensagem de violação. Acho que deve ser alguma coisa a respeito da hora.
Porque fui almoçar, quando retornei já não deu erro mais.
Me ajudem..... rsrsrs
Estou tralhando em projeto que está me tirando o sono. Nos outros projetos quando dá um erro de execução sql ou algum erro qlq, na maioria das vezes eu coloco o Try ...Except end;
Try Execute('insert into bilhete (código, nome, data, hora) values (:0,:1,:2,)' except on e : Exception do Begin beep; dm.DB.Rollback; KDialog('Erro ao gravar bilhete'#13#13'Classe de erro: '+e.ClassName + #13+ 'Mensagem de erro: '+ e.Message, 'Erro', 'ERRO'); exit end; end;
Ao invés de mostrar a mensagem "Erro ao gravar bilhete......" aparece a mensagem de violação:
'Access violation at address 004053CD in module ''Bilheteria.exe''. Read of address 0030002C'
Mesmo eu fazendo o DEBUG aparece a mensagem de Violação.
Debbuger Fault Notification Project: d:\\Vendas\\Bilhete.exe fauted with message: 'system exception (code 0x00041d) at 0x00000053cd'.Process stopped. use step or run to continue
Depois que dá essa mensagem, nem sair do programa eu consigo.
Eu testei, várias vezes o comando "clientdataset.locate" e apareceria a mensagem de violação. Acho que deve ser alguma coisa a respeito da hora.
Porque fui almoçar, quando retornei já não deu erro mais.
Me ajudem..... rsrsrs
Dirceu Morais
Curtidas 0
Melhor post
Emerson Nascimento
26/06/2019
publique o trecho de código que está gerando o erro.
se com o código em mãos você não está conseguindo identificar o problema, imagine como pode ser difícil pra quem quer te ajudar, se você não publicá-lo.
indique também qual banco de dados, tipos dos campos e o que mais você puder detalhar.
se com o código em mãos você não está conseguindo identificar o problema, imagine como pode ser difícil pra quem quer te ajudar, se você não publicá-lo.
indique também qual banco de dados, tipos dos campos e o que mais você puder detalhar.
GOSTEI 1
Mais Respostas
Bruno
25/06/2019
Bom Tarde,
Estou tralhando em projeto que está me tirando o sono. Nos outros projetos quando dá um erro de execução sql ou algum erro qlq, na maioria das vezes eu coloco o Try ...Except end;
Ao invés de mostrar a mensagem "Erro ao gravar bilhete......" aparece a mensagem de violação:
Mesmo eu fazendo o DEBUG aparece a mensagem de Violação.
Depois que dá essa mensagem, nem sair do programa eu consigo.
Eu testei, várias vezes o comando "clientdataset.locate" e apareceria a mensagem de violação. Acho que deve ser alguma coisa a respeito da hora.
Porque fui almoçar, quando retornei já não deu erro mais.
Me ajudem..... rsrsrs
Estou tralhando em projeto que está me tirando o sono. Nos outros projetos quando dá um erro de execução sql ou algum erro qlq, na maioria das vezes eu coloco o Try ...Except end;
Try Execute('insert into bilhete (código, nome, data, hora) values (:0,:1,:2,)' except on e : Exception do Begin beep; dm.DB.Rollback; KDialog('Erro ao gravar bilhete'#13#13'Classe de erro: '+e.ClassName + #13+ 'Mensagem de erro: '+ e.Message, 'Erro', 'ERRO'); exit end; end;
Ao invés de mostrar a mensagem "Erro ao gravar bilhete......" aparece a mensagem de violação:
'Access violation at address 004053CD in module ''Bilheteria.exe''. Read of address 0030002C'
Mesmo eu fazendo o DEBUG aparece a mensagem de Violação.
Debbuger Fault Notification Project: d:\\\\Vendas\\\\Bilhete.exe fauted with message: 'system exception (code 0x00041d) at 0x00000053cd'.Process stopped. use step or run to continue
Depois que dá essa mensagem, nem sair do programa eu consigo.
Eu testei, várias vezes o comando "clientdataset.locate" e apareceria a mensagem de violação. Acho que deve ser alguma coisa a respeito da hora.
Porque fui almoçar, quando retornei já não deu erro mais.
Me ajudem..... rsrsrs
você inicia a transação? porque esta dando roollback talvez ele não esteja em transação e gera a erro
GOSTEI 0
Dirceu Morais
25/06/2019
você inicia a transação? porque esta dando roollback talvez ele não esteja em transação e gera a erro
O Trecho que tem o Roollback foi só um exemplo, para vcs entenderem como eu faço.
GOSTEI 0
Dirceu Morais
25/06/2019
Esta complicado colocar o código, pois teria eu disponibilizar o programa inteiro.
Veja bem:
Testei uma vez aqui e deu certo.
Agora fui executar novamente de deu erro de violação na linha: If Not cdsTMP.Locate('Categoria','-',[]) e como se não existisse a tabela CDSTMP.
Tem agora que consigo imprimir no FastReport de boa, dai do nada, ao executar não imprimi nada ou dá erro de violação.
Veja bem:
Testei uma vez aqui e deu certo.
If Not cdsTMP.Locate('Categoria','-',[]) Then KDialog('Não achei categoria vazia','Alerta','Erro'); cdsTMP.Edit; cdsTMPValor.AsFloat := cdsEventosVALOR.AsFloat; cdsTMPCategoria.AsString := 'I';
Agora fui executar novamente de deu erro de violação na linha: If Not cdsTMP.Locate('Categoria','-',[]) e como se não existisse a tabela CDSTMP.
Tem agora que consigo imprimir no FastReport de boa, dai do nada, ao executar não imprimi nada ou dá erro de violação.
GOSTEI 0
Emerson Nascimento
25/06/2019
cdsTMP pode estar sendo fechada num momento indevido, ou até mesmo ter sido eliminado.
se cdsTMP for criado em tempo de execução, veja quem é o owner, pois ao eliminar o owner, os childs também são eliminados.
se cdsTMP for criado em tempo de execução, veja quem é o owner, pois ao eliminar o owner, os childs também são eliminados.
GOSTEI 0
Bruno
25/06/2019
Esta complicado colocar o código, pois teria eu disponibilizar o programa inteiro.
Veja bem:
Testei uma vez aqui e deu certo.
Agora fui executar novamente de deu erro de violação na linha: If Not cdsTMP.Locate('Categoria','-',[]) e como se não existisse a tabela CDSTMP.
Tem agora que consigo imprimir no FastReport de boa, dai do nada, ao executar não imprimi nada ou dá erro de violação.
Veja bem:
Testei uma vez aqui e deu certo.
If Not cdsTMP.Locate('Categoria','-',[]) Then KDialog('Não achei categoria vazia','Alerta','Erro'); cdsTMP.Edit; cdsTMPValor.AsFloat := cdsEventosVALOR.AsFloat; cdsTMPCategoria.AsString := 'I';
Agora fui executar novamente de deu erro de violação na linha: If Not cdsTMP.Locate('Categoria','-',[]) e como se não existisse a tabela CDSTMP.
Tem agora que consigo imprimir no FastReport de boa, dai do nada, ao executar não imprimi nada ou dá erro de violação.
antes de dar locate verifica se esta cdsTMP.IsEmpty
GOSTEI 0
Dirceu Morais
25/06/2019
Será que tem alguma coisa a ver com minha configuração:
Formprincipal:
Chamada:
No formVendas:
O Formvendas trabalha com outra tela (outro monitor para o cliente ficar vendo o que esta sendo digitado, com a mesma característica do formvendas)
type
TFormVendas = class(TForm)
...
cdsTMP: TClientDataSet;
...
No oncreate do formvendas:
cdsTMP.CreateDataSet;
No Botão Inicia vendas:
cdsTMP.EmptyDataSet;
Lembrando que o erro ocorre em outras tabelas também;
Neste caso também esta com erro:
Ao executar o OPEN dá erro.
O que mais me intriga é que Não é sempre que acontece isto.
As vezes acontece na primeira chamada, outras vezes na segunda.
;(
Formprincipal:
Borderstyle=bsSingle FormStyle = fsMDIForm Visible = True Windostate=wsMaximized
Chamada:
If FormVendas = nil Then FormVendas := TFormVendas.Create(Application); FormVendas.Show; Panel2.Visible := False;
No formVendas:
Borderstyle=bsNone FormStyle = fsMDIChild Visible = True Windostate=wsMaximized
O Formvendas trabalha com outra tela (outro monitor para o cliente ficar vendo o que esta sendo digitado, com a mesma característica do formvendas)
type
TFormVendas = class(TForm)
...
cdsTMP: TClientDataSet;
...
No oncreate do formvendas:
cdsTMP.CreateDataSet;
No Botão Inicia vendas:
cdsTMP.EmptyDataSet;
Lembrando que o erro ocorre em outras tabelas também;
Neste caso também esta com erro:
cdsSessao.Close; cdsSessao.ParamByName('Data').AsDateTime := cdsEventosDATA.AsDateTime; cdsSessao.ParamByName('Hora').AsDateTime := cdsEventosHORA.AsDateTime; cdsSessao.ParamByName('01').AsInteger := cdsEventosID_VENDA.AsInteger; cdsSessao.ParamByName('02').AsString := cdsEventosID_ITEM.AsString; cdsSessao.Open();
Ao executar o OPEN dá erro.
O que mais me intriga é que Não é sempre que acontece isto.
As vezes acontece na primeira chamada, outras vezes na segunda.
;(
GOSTEI 0
Bruno
25/06/2019
Qual erro está dando amigo vamos em partes .
GOSTEI 0
Dirceu Morais
25/06/2019
Sempre é o mesmo erro em tudo.
Na hora de imprimir, abrir uma tabela.
[code=delphi
Debbuger Fault Notification
Project: d:\\\\Vendas\\\\Bilhete.exe fauted with message: 'system exception (code 0x00041d) at 0x00000053cd'.Process stopped.
use step or run to continue
[/code]
Acho que vou começar um projeto novo.
Pq já tem uma semana que estou nesta peleja.
Na hora de imprimir, abrir uma tabela.
'Access violation at address 004053CD in module ''Bilheteria.exe''. Read of address 0030002C'
[code=delphi
Debbuger Fault Notification
Project: d:\\\\Vendas\\\\Bilhete.exe fauted with message: 'system exception (code 0x00041d) at 0x00000053cd'.Process stopped.
use step or run to continue
[/code]
Acho que vou começar um projeto novo.
Pq já tem uma semana que estou nesta peleja.
GOSTEI 0
Dirceu Morais
25/06/2019
Olha só,
Criei outro projeto e continua com o mesmo erro.
Olha só este outro erro:
Coloquei um Componente FDQuery liquei a conexão com o DM coloquei o sql lá.
Inclui os Fields. Deixei a conexão com o Banco de dados Fechada.
No Form eu uso assim.
Testei assim:
Porém, entra no "cdssessao.close" e dá erro.
Tentei não usando o "cdssessao.close" passou, só que eu preciso, atualizar o meu CDS.
Caramba!
Criei outro projeto e continua com o mesmo erro.
Olha só este outro erro:
Coloquei um Componente FDQuery liquei a conexão com o DM coloquei o sql lá.
Inclui os Fields. Deixei a conexão com o Banco de dados Fechada.
No Form eu uso assim.
cdsSessao.Close; //CdsSessao = FDQuery -----DÁ ERRO DE VIOLAÇÃO AQUI cdsSessao.ParamByName('Data').AsDateTime := cdsEventosDATA.AsDateTime; cdsSessao.ParamByName('Hora').AsDateTime := cdsEventosHORA.AsDateTime; cdsSessao.ParamByName('01').AsInteger := cdsEventosID_VENDA.AsInteger; cdsSessao.ParamByName('02').AsString := cdsEventosID_ITEM.AsString; cdsSessao.Open();
Testei assim:
if cdssessao.active Then
cdssessao.close; ///Testei também: cdssessao.active := False;
cdsSessao.ParamByName('Data').AsDateTime := cdsEventosDATA.AsDateTime;
cdsSessao.ParamByName('Hora').AsDateTime := cdsEventosHORA.AsDateTime;
cdsSessao.ParamByName('01').AsInteger := cdsEventosID_VENDA.AsInteger;
cdsSessao.ParamByName('02').AsString := cdsEventosID_ITEM.AsString;
cdsSessao.Open();
cdssessao.close; ///Testei também: cdssessao.active := False;
cdsSessao.ParamByName('Data').AsDateTime := cdsEventosDATA.AsDateTime;
cdsSessao.ParamByName('Hora').AsDateTime := cdsEventosHORA.AsDateTime;
cdsSessao.ParamByName('01').AsInteger := cdsEventosID_VENDA.AsInteger;
cdsSessao.ParamByName('02').AsString := cdsEventosID_ITEM.AsString;
cdsSessao.Open();
Porém, entra no "cdssessao.close" e dá erro.
Tentei não usando o "cdssessao.close" passou, só que eu preciso, atualizar o meu CDS.
Caramba!
GOSTEI 0
Emerson Nascimento
25/06/2019
há implementação nos eventos do componente cdssessao ?
GOSTEI 0
Bruno
25/06/2019
Acho melhor você mandar como você faz a logica de montagem toda de uma vez para que agente possa te ajudar..
GOSTEI 0
Dirceu Morais
25/06/2019
há implementação nos eventos do componente cdssessao ?
Não há nenhum evento nas tabelas.
Aliás eu coloquei uma agora no "afteropen" da tabela.
if cdsVendas.Active then cdsVendas.Close;
GOSTEI 0
Rafael Bosco
25/06/2019
Meu amigo, o seu erro é por que ta faltando a midas.dll, vá no seu formprincipal e coloque nas USES: midaslib;
GOSTEI 0
Dirceu Morais
25/06/2019
Rafael, só se for o contrário porque já estou usando.
Veja:
Meu amigo, o seu erro é por que ta faltando a midas.dll, vá no seu formprincipal e coloque nas USES: midaslib;
Veja:
program Bilheteria; uses Vcl.Forms, MidasLib, unPrincipal in 'unPrincipal.pas' , UDialog in 'UDialog.pas' , unDm in 'unDm.pas' {DM: TDataModule}, unLogin in 'unLogin.pas' , uRotinas in 'uRotinas.pas', UnConfiguracao in 'UnConfiguracao.pas' , unFechamentoCaixa in 'unFechamentoCaixa.pas' , unBilheteria in 'unBilheteria.pas' , unTelaCliente in 'unTelaCliente.pas' , unprogramacao in 'unprogramacao.pas' , unrelprogramacao in '..\\unrelprogramacao.pas' , unSenha in 'unSenha.pas' , ufCadastrar in '..\\ufCadastrar.pas' {FrameCadastro: TFrame}; {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TFormPrincipal, FormPrincipal); Application.CreateForm(TfrmDialog, frmDialog); Application.CreateForm(TDM, DM); Application.Run; end.
GOSTEI 0
Dirceu Morais
25/06/2019
Fala Galera, Boa tarde,
Ainda estou na peleja.
Criei um novo projeto e continua dano o mesmo erro vejam só.
o trecho abaixo, executa uma, duas, três, quatro, cinco, seis, e de repente ao clicar no botão btiniciavendaclick da erro.
Classe de erro: EAccessViolation
Mensagem de erro: Access violation at address 0040572B in module 'DSCinema.exe'. Read of address 00300030
Veja que não DESTRUO nenhum objeto.
Já faz mais de mês que estou lutando com esse erro.
Me ajude sniff, sniff
Ainda estou na peleja.
Criei um novo projeto e continua dano o mesmo erro vejam só.
o trecho abaixo, executa uma, duas, três, quatro, cinco, seis, e de repente ao clicar no botão btiniciavendaclick da erro.
Classe de erro: EAccessViolation
Mensagem de erro: Access violation at address 0040572B in module 'DSCinema.exe'. Read of address 00300030
procedure TFormBilheteria.btIniciaVendaClick(Sender: TObject); Var i : Integer; Classif : String; begin Try QueryValor.Close; QueryValor.SQL.Text := 'Select Data_Exibicao, id_sala, id_filme from '+ 'sessao_filme Where data_exibicao < current_date'; QueryValor.Open; //AS VEZES DA ERRO AQUI if dm.QueryValor.RecordCount > 0 then Begin KDialog('Existe caixa aberto do dia '+FormatDateTime('dd/mm/yyyy',dm.QueryValor.FieldByName('Data_Exibicao').AsDateTime)+ ' Sala '+dm.QueryValor.FieldByName('id_sala').AsString,'Alerta','Info'); Exit; End; TelaCliente(0,'1','1','1'); //PROCEDIMENTO ESTA VAZIO NÃO FAZ NADA POR ENQUANTO tsFilme.TabVisible := True; RzPageControl1.ActivePageIndex := 1; tsInicial.TabVisible := False; cdsTMP.EmptyDataSet; cdsEventos.Close; cdsEventos.Open; i := 1; PanelData.Caption := 'Data: '+ cdsEventosDATA_EXIBICAO.AsString; lbSelecao.Caption := 'Total Selecionada: 0'; stCadeiraSelec.Caption := lbSELECAO.Caption; imsala01.Picture := Nil; imsala02.Picture := Nil; imsala03.Picture := Nil; imsala04.Picture := Nil; while not cdsEventos.eof do Begin case i of 1 : Begin PanelSALA01.Visible := True; if cdsEventosIMAGEM.AsString <> '' Then begin If FileExists(cdsEventosIMAGEM.AsString) Then imsala01.Picture.LoadFromFile(cdsEventosIMAGEM.AsString); end; stFilme01.Caption := Trim(cdsEventosTITULO.AsString); S1 := cdsEventosID_SALA.AsString; F1 := cdsEventosID_FILME.AsString; H1 := cdsEventosHORA_EXIBICAO.AsString; stSala01.Caption := 'Sala: '+ cdsEventosID_SALA.AsString; stPrecoIS01.Caption := 'R$ '+Formatar_valores(cdsEventosPR_INTEIRA.AsFloat); stPrecoMS01.Caption := 'R$ '+Formatar_valores(cdsEventosPR_MEIA.AsFloat); stHora01.Caption := FormatDateTime('HH:mm',cdsEventosHORA_EXIBICAO.AsDateTime); Classif := RetSomenteNumeros(cdsEventosCENSURA.AsString); stLota01.Caption := 'Lotação: '+cdsEventosLOTACAO.AsString; //88Pinta_sessao(stSessao01,FormTelaCliente.stSessao01, cdsEventosLOTACAO.AsInteger,cdsEventosCAPACIDADE.AsInteger); Case StrToIntDef(Classif,0) of 18 : imCensura01.Picture := im18.Picture; 16 : imCensura01.Picture := im16.Picture; 14 : imCensura01.Picture := im14.Picture; 12 : imCensura01.Picture := im12.Picture; 10 : imCensura01.Picture := im10.Picture; Else //ERRO AQUI........... imCensura01.Picture := ImLivre.Picture; //DA ERRO AQUI End; If cdsEventosAUDIO.AsString = 'L' Then stLegenda01.Caption := 'LEGENDADO' Else stLegenda01.Caption := 'DUBLADO'; if cdsEventosTIPOPROJECAO.AsString = '3' then Proj01.Caption := '3D' Else Proj01.Caption := 'DIGITAL'; Gauge1.MaxValue := cdsEventosCAPACIDADE.AsInteger; cdsVendas.Close; cdsVendas.ParamByName('TSala').AsString := cdsEventosID_SALA.AsString; cdsVendas.ParamByName('Data').AsDate := cdsEventosDATA_EXIBICAO.AsDateTime; cdsVendas.ParamByName('Hora').AsString := cdsEventosHORA_EXIBICAO.AsString; cdsVendas.ParamByName('Filme').AsString := cdsEventosID_FILME.AsString; cdsVendas.Open; gauge1.Progress :=cdsEventosLOTACAO.AsInteger; End; 2 : Begin PanelSALA02.Visible := True; if cdsEventosIMAGEM.AsString <> '' Then begin If FileExists(cdsEventosIMAGEM.AsString) Then imsala02.Picture.LoadFromFile(cdsEventosIMAGEM.AsString); end; stFilme02.Caption := Trim(cdsEventosTITULO.AsString); stSala02.Caption := 'Sala: '+ cdsEventosID_SALA.AsString; stPrecoIS02.Caption := 'R$ '+Formatar_valores(cdsEventosPR_INTEIRA.AsFloat); stPrecoMS02.Caption := 'R$ '+Formatar_valores(cdsEventosPR_MEIA.AsFloat); stHora02.Caption := FormatDateTime('HH:mm',cdsEventosHORA_EXIBICAO.AsDateTime); Classif := RetSomenteNumeros(cdsEventosCENSURA.AsString); F2 := cdsEventosID_FILME.AsString; S2 := cdsEventosID_SALA.AsString; H2 := cdsEventosHORA_EXIBICAO.AsString; Case StrToIntDef(Classif,0) of 18 : imCensura02.Picture := im18.Picture; 16 : imCensura02.Picture := im16.Picture; 14 : imCensura02.Picture := im14.Picture; 12 : imCensura02.Picture := im12.Picture; 10 : imCensura02.Picture := im10.Picture; Else imCensura02.Picture := ImLivre.Picture; End; If cdsEventosAUDIO.AsString = 'L' Then stLegenda02.Caption := 'LEGENDADO' Else stLegenda02.Caption := 'DUBLADO'; if cdsEventosTIPOPROJECAO.AsString = '3' then Proj02.Caption := '3D' Else Proj02.Caption := 'DIGITAL'; Gauge2.MaxValue := cdsEventosCAPACIDADE.AsInteger; cdsVendas.Close; cdsVendas.ParamByName('TSala').AsString := cdsEventosID_SALA.AsString; cdsVendas.ParamByName('Data').AsDate := cdsEventosDATA_EXIBICAO.AsDateTime; cdsVendas.ParamByName('Hora').AsString := cdsEventosHORA_EXIBICAO.AsString; cdsVendas.ParamByName('Filme').AsString := cdsEventosID_FILME.AsString; cdsVendas.Open; gauge2.Progress := cdsEventosLOTACAO.AsInteger; stLota02.Caption := 'Lotação: '+cdsEventosLOTACAO.AsString; End; end; Inc(i); cdsEventos.Next; End; Except on e : Exception do Begin KDialog('Erro ao iniciar venda'#13#13'Classe de erro: '+e.ClassName + #13+ 'Mensagem de erro: '+ e.Message, 'Erro', 'ERRO'); end; end; PanelSALA01.Visible := S1<>''; PanelSALA02.Visible := S2<>''; end; procedure TFormBilheteria.bVoltarClick(Sender: TObject); begin tsInicial.TabVisible := True; RzPageControl1.ActivePageIndex := 0; tsFilme.TabVisible := False; tsPoltrona.TabVisible := False; tsFinalizacao.TabVisible := False; end;
Veja que não DESTRUO nenhum objeto.
Já faz mais de mês que estou lutando com esse erro.
Me ajude sniff, sniff
GOSTEI 0
Dirceu Morais
25/06/2019
Postei o mesmo problema neste outro Fórum, https://www.projetoacbr.com.br/forum/topic/52912-acesso-violado-mas-como/ no final tem um vídeo onde aparece o problema.
Se puderem assistir o vídeo para entenderem melhor, para me ajudar.
Ficarei grato.
Tenho pouco dias para finalizar o programa.
Desde já agradeço.
Se puderem assistir o vídeo para entenderem melhor, para me ajudar.
Ficarei grato.
Tenho pouco dias para finalizar o programa.
Desde já agradeço.
GOSTEI 0
Dirceu Morais
25/06/2019
Postei o mesmo problema em outro fórum por ter a opção de incluir vídeo, onde vcs conseguirão ver melhor o meu problema.
https://www.projetoacbr.com.br/forum/topic/52912-acesso-violado-mas-como/
Desde já agradeço.
https://www.projetoacbr.com.br/forum/topic/52912-acesso-violado-mas-como/
Desde já agradeço.
GOSTEI 0
Dirceu Morais
25/06/2019
Como faço para descobrir se tem algum thread rodando no meu programa?
Ou como vejo se tem alguma coisa rodando em segundo plano? Tem como saber fazendo uma pesquisa?
Pensei também se não tem algum Timer em algum componente rodando e mas não consegui identificar também.
Removi alguns componentes achando que poderia ser, mas ainda nada.
Abaixo listo os uses do formulario
Alguns componentes, não listei todos pq são muitos:
Ou como vejo se tem alguma coisa rodando em segundo plano? Tem como saber fazendo uma pesquisa?
Pensei também se não tem algum Timer em algum componente rodando e mas não consegui identificar também.
Removi alguns componentes achando que poderia ser, mas ainda nada.
Abaixo listo os uses do formulario
uses Vcl.MPlayer, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf, FireDAC.Stan.Async, FireDAC.DApt, frxClass, frxDesgn, Vcl.ImgList, Forms, Vcl.Controls, frxGradient, frxBarcode, frxExportPDF, frxOLE, frxDBSet, Vcl.Menus, DB, FireDAC.Comp.DataSet, inifiles, FireDAC.Comp.Client, Datasnap.DBClient, Vcl.ComCtrls, Vcl.ExtCtrls, Messages, Vcl.DBCtrls, Vcl.StdCtrls, RxCurrEdit, pngimage, Windows, Graphics, Vcl.Samples.Gauges, Vcl.Grids, Vcl.DBGrids, Dialogs, SysUtils, RxToolEdit, AdvGlowButton, Vcl.Mask, RzTabs, Variants, Classes, jpeg; const InputBoxMessage = WM_USER + 200; type TFormBilheteria = class(TForm)
Alguns componentes, não listei todos pq são muitos:
RzPageControl1: TRzPageControl; tsInicial: TRzTabSheet; Panel1: TPanel; Label16: TLabel; Splitter3: TSplitter; meHoraExibicao: TMaskEdit; cbFechados: TCheckBox; BTSair: TAdvGlowButton; deData: TDateEdit; DBGrid1: TDBGrid; Panel13: TPanel; Splitter4: TSplitter; StaticText7: TStaticText; stLota04: TStaticText; PanelSALA03: TPanel; imsala03: TImage; imCensura03: TImage; Gauge3: TGauge; ceQI: TCurrencyEdit; ceQM: TCurrencyEdit; ceQC: TCurrencyEdit; ceQE: TCurrencyEdit; GroupBox1: TGroupBox; cbAssento: TCheckBox; dsTMP: TDataSource; FDAssentos: TFDQuery; N2: TMenuItem; Inteira1: TMenuItem;
GOSTEI 0
Dirceu Morais
25/06/2019
Bom Tarde,
Estou tralhando em projeto que está me tirando o sono. Nos outros projetos quando dá um erro de execução sql ou algum erro qlq, na maioria das vezes eu coloco o Try ...Except end;
Ao invés de mostrar a mensagem "Erro ao gravar bilhete......" aparece a mensagem de violação:
Mesmo eu fazendo o DEBUG aparece a mensagem de Violação.
Depois que dá essa mensagem, nem sair do programa eu consigo.
Eu testei, várias vezes o comando "clientdataset.locate" e apareceria a mensagem de violação. Acho que deve ser alguma coisa a respeito da hora.
Porque fui almoçar, quando retornei já não deu erro mais.
Me ajudem..... rsrsrs
Estou tralhando em projeto que está me tirando o sono. Nos outros projetos quando dá um erro de execução sql ou algum erro qlq, na maioria das vezes eu coloco o Try ...Except end;
Try Execute('insert into bilhete (código, nome, data, hora) values (:0,:1,:2,)' except on e : Exception do Begin beep; dm.DB.Rollback; KDialog('Erro ao gravar bilhete'#13#13'Classe de erro: '+e.ClassName + #13+ 'Mensagem de erro: '+ e.Message, 'Erro', 'ERRO'); exit end; end;
Ao invés de mostrar a mensagem "Erro ao gravar bilhete......" aparece a mensagem de violação:
'Access violation at address 004053CD in module ''Bilheteria.exe''. Read of address 0030002C'
Mesmo eu fazendo o DEBUG aparece a mensagem de Violação.
Debbuger Fault Notification Project: d:\\\\Vendas\\\\Bilhete.exe fauted with message: 'system exception (code 0x00041d) at 0x00000053cd'.Process stopped. use step or run to continue
Depois que dá essa mensagem, nem sair do programa eu consigo.
Eu testei, várias vezes o comando "clientdataset.locate" e apareceria a mensagem de violação. Acho que deve ser alguma coisa a respeito da hora.
Porque fui almoçar, quando retornei já não deu erro mais.
Me ajudem..... rsrsrs
Galera, Acho que consegui resolver.Mas infelizmente não tem como eu postar a solução, porque mexi muito, retirei alguns componentes, troquei vários de posição,Agradeço a todos, que de alguma forma quebrou a cabeça.Brigadú.
GOSTEI 0