QUOTE(robinhocne @ 06/08/2007 - 17:12)

Erro Dentro do Delphi:
QUOTE
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.
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:
QUOTE
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.