robinhocne Postado Agosto 6, 2007 Denunciar Share Postado Agosto 6, 2007 Olá pessoal estou fazendo uns comandos do Botão Salvar:Esse é o codigo do Botão Salvar:procedure TFrmTipo.spbsalClick(Sender: TObject);begin TxtDes.Enabled := False; With vCpo Do begin Clear; Add ('Tipo'); Add ('Descricao'); end; With vVlr Do begin Clear; Add (#39 + TxtTipo.Text + #39); Add (#39 + TxtDes.Text + #39); end; If (Editar) Then AlterarRegistro('Tipo_Vestuario', vCpo, vVlr, 'Codigo ='+ TxtCod.Text) Else IncluirRegistro('Tipo_Vestuario', vCpo, vVlr); inherited;end;Esse é o erro:Access violation at address 004E54D2 in module 'Loja.exe'.Read of address 00000000. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pirambu! Postado Agosto 6, 2007 Denunciar Share Postado Agosto 6, 2007 Cara você quer salvar o que? em que banco de dados você estar usando? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robinhocne Postado Agosto 6, 2007 Autor Denunciar Share Postado Agosto 6, 2007 Ai vou salvar os dados do formulário, e eu uso Firebird Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Agosto 6, 2007 Denunciar Share Postado Agosto 6, 2007 Olá pessoal estou fazendo uns comandos do Botão Salvar:Esse é o codigo do Botão Salvar:procedure TFrmTipo.spbsalClick(Sender: TObject);begin TxtDes.Enabled := False; With vCpo Do begin Clear; Add ('Tipo'); Add ('Descricao'); end; With vVlr Do begin Clear; Add (#39 + TxtTipo.Text + #39); Add (#39 + TxtDes.Text + #39); end; If (Editar) Then AlterarRegistro('Tipo_Vestuario', vCpo, vVlr, 'Codigo ='+ TxtCod.Text) Else IncluirRegistro('Tipo_Vestuario', vCpo, vVlr); inherited;end;Esse é o erro:Access violation at address 004E54D2 in module 'Loja.exe'.Read of address 00000000.robinhocne, por acaso o programa não desvia para linha do erro dentro do editor do Delphi? Seria de mais ajuda.Como esse seu projeto já está "velho" em termos de dúvidas (você já postou outras), eu sei que vCpo e vVlr são listas de strings (TStrings/TStringList). Por acaso elas estão inicializadas? Parece-me que este erro pode der pelo acesso a estas variáveis sem terem sido inicializadas. Dê uma verificada.Pirambu!, se quiser entender um pouco sobre a pergunta, dá uma olhada neste outro post do robinhocne. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robinhocne Postado Agosto 6, 2007 Autor Denunciar Share Postado Agosto 6, 2007 Erro Dentro do Delphi:Project Loja.exe raised exception class EAccessViolation with message 'Access violation at address 004E79E7 in module 'Loja.exe'.Read of address 00000000'. Process stopped. Use Step or Run to continue. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Agosto 6, 2007 Denunciar Share Postado Agosto 6, 2007 Erro Dentro do Delphi:Project Loja.exe raised exception class EAccessViolation with message 'Access violation at address 004E79E7 in module 'Loja.exe'.Read of address 00000000'. Process stopped. Use Step or Run to continue.acho que não mudou muita coisa. Continuou não ajudando muito. :unsure: Normalmente quando você executa o programa "por dentro" do Delphi, após ocorrer uma exceção é comum que o fluxo do programa seja desviado para dentro da IDE do Delphi, e neste caso, o cursor normalmente é posicionado na linha (ou próximo a ela) em que a tentativa de acesso a uma variável gera o erro.Como disse antes:eu sei que vCpo e vVlr são listas de strings (TStrings/TStringList). Por acaso elas estão inicializadas? Parece-me que este erro pode der pelo acesso a estas variáveis sem terem sido inicializadas. Dê uma verificada.Voce se deu ao trabalho de ao menos verificar isto? (se o objeto vCpo e vVlr estão inicializados)Não é fácil advinhar a causa do erro quando não temos o código. Tem que ter uma pista de onde ocorre o erro.O erro pode ainda estar ocorrendo dentro dos procedimentos AlterarRegistro ou IncluirRegistro. Se você não der uma pista de onde ocorre o erro, não vai dar para ajudar.Voce sabe utilizar Break-points? Se souber, coloque um no início do procedimento e siga executando passo-a-passo até que ocorra o erro."para adicionar um break-point, você tecla F5 (a linha deve ficar vermelha e um ponto vermelho aparece na margem esquerda do editor). Este procedimento adiciona um Break-point (ponto de parada). Quando você executar seu programa (normalmente via F9), ele irá parar nesta linha no momento em que ela estiver para ser executada. Neste momento você estará devolta a IDE do Delphi e poderá utilizar o avaliador de expressões (diálogo Evaluate/Modify) - tecland CTRL+F7. Na caixa Expression você digita o nome variável/componente que você quer verificar/alterar o conteúdo"Voce poderá verificar se as variáveis citadas estão nulas (nil).Veja o que consegue. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robinhocne Postado Agosto 7, 2007 Autor Denunciar Share Postado Agosto 7, 2007 Ok, Micheus entendi, e consegui achar o erro, só não estava relacionando certo os vvlr e vcpo.Resolvido. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
robinhocne
Olá pessoal estou fazendo uns comandos do Botão Salvar:
Esse é o codigo do Botão Salvar:
Esse é o erro:Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.