Fórum Access violation so quando executo fora do delphi #369873
19/04/2009
0
Olá Pessoal,
Ja tentei de tudo e não consigo descobrir o por que deste error:
Access violation at address 77035 in module ntdll.dll write of address
quando rodo de detro do delphi grava normalmente, agora fora delo apresenta o error.
Uso firebir 2.0 delphi 2007 com Drive do Thiago Borges.
Abraços
Fernando Oliveira
Ja tentei de tudo e não consigo descobrir o por que deste error:
Access violation at address 77035 in module ntdll.dll write of address
quando rodo de detro do delphi grava normalmente, agora fora delo apresenta o error.
Uso firebir 2.0 delphi 2007 com Drive do Thiago Borges.
Abraços
Fernando Oliveira
Fernandoaco
Curtir tópico
+ 0
Responder
Posts
20/04/2009
Camilo
Olá Pessoal,
Ja tentei de tudo e não consigo descobrir o por que deste error:
Access violation at address 77035 in module ntdll.dll write of address
quando rodo de detro do delphi grava normalmente, agora fora delo apresenta o error.
Uso firebir 2.0 delphi 2007 com Drive do Thiago Borges.
Abraços
Fernando Oliveira
meu caro Fernando Oliveira, acredito q tenha algum componente q esteja active = true, ou alguma conexão com o banco ou se for o seu caso de está usando CDS pode está ´conectato´, o ideal q se faça isso em tempo de execução e não em tempo de projeto.
Responder
Gostei + 0
21/04/2009
Fernandoaco
Ola Camilo,
Uso sim cds, não tenho nada como true, o interessante é que mudei para SQLProcedure e o error permanece, mas ele grava no banco, veja o codigo:
o params[0] passo como 0 pois é gerado pelo banco.
Start;
try
with SpAbastecimento do
begin
Params[0].AsInteger := cdsAbasteceID.AsInteger ;
Params[1].AsInteger := cdsAbasteceID_TPCOMBUSTIVEL.AsInteger;
Params[2].AsInteger := cdsAbasteceID_CCUSTO.AsInteger;
Params[3].AsString := cdsAbastecePLACA_VEICULO.AsString;
Params[4].AsInteger := cdsAbasteceID_FORNECEDOR.AsInteger;
Params[5].AsInteger := cdsAbasteceID_MOTORISTA.AsInteger;
Params[6].AsInteger := cdsAbasteceQT_LITROS.AsInteger;
Params[7].AsBCD := cdsAbasteceVLR_LITRO.AsCurrency;
Params[8].AsInteger := cdsAbasteceODOMETRO.AsInteger;
Params[9].AsInteger := cdsAbasteceKM_RODADO.AsInteger;
Params[10].AsInteger := cdsAbasteceNUMERO_NOTA.AsInteger;
Params[11].AsInteger := cdsAbasteceID_USUARIO.AsInteger;
Params[12].AsDate := cdsAbasteceDT_ABASTECE.AsDateTime;
Params[13].AsTime := cdsAbasteceHR_ABASTECE.AsDateTime;
Params[14].AsString := cdsAbasteceTP_ABASTECE.AsString;
Params[15].AsInteger := cdsAbasteceID_VIAGEM.AsInteger;
Params[16].AsString := cdsAbasteceFORMA_PGTO.AsString;
Params[17].AsBCD := cdsAbastecetotalNota.AsCurrency;
ExecProc;
comit;
end;
except
on e:exception do
begin
ShowMessage(´Falha ao Gravar Abastecimento.´+ #13 +
´Mensagem Original:´+ E.Message);
cdsAbastece.CancelUpdates;
Rollback;
end;
end;
Uso sim cds, não tenho nada como true, o interessante é que mudei para SQLProcedure e o error permanece, mas ele grava no banco, veja o codigo:
o params[0] passo como 0 pois é gerado pelo banco.
Start;
try
with SpAbastecimento do
begin
Params[0].AsInteger := cdsAbasteceID.AsInteger ;
Params[1].AsInteger := cdsAbasteceID_TPCOMBUSTIVEL.AsInteger;
Params[2].AsInteger := cdsAbasteceID_CCUSTO.AsInteger;
Params[3].AsString := cdsAbastecePLACA_VEICULO.AsString;
Params[4].AsInteger := cdsAbasteceID_FORNECEDOR.AsInteger;
Params[5].AsInteger := cdsAbasteceID_MOTORISTA.AsInteger;
Params[6].AsInteger := cdsAbasteceQT_LITROS.AsInteger;
Params[7].AsBCD := cdsAbasteceVLR_LITRO.AsCurrency;
Params[8].AsInteger := cdsAbasteceODOMETRO.AsInteger;
Params[9].AsInteger := cdsAbasteceKM_RODADO.AsInteger;
Params[10].AsInteger := cdsAbasteceNUMERO_NOTA.AsInteger;
Params[11].AsInteger := cdsAbasteceID_USUARIO.AsInteger;
Params[12].AsDate := cdsAbasteceDT_ABASTECE.AsDateTime;
Params[13].AsTime := cdsAbasteceHR_ABASTECE.AsDateTime;
Params[14].AsString := cdsAbasteceTP_ABASTECE.AsString;
Params[15].AsInteger := cdsAbasteceID_VIAGEM.AsInteger;
Params[16].AsString := cdsAbasteceFORMA_PGTO.AsString;
Params[17].AsBCD := cdsAbastecetotalNota.AsCurrency;
ExecProc;
comit;
end;
except
on e:exception do
begin
ShowMessage(´Falha ao Gravar Abastecimento.´+ #13 +
´Mensagem Original:´+ E.Message);
cdsAbastece.CancelUpdates;
Rollback;
end;
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)