Fórum ClientdataSet Vs messagedlg #429760

26/11/2012

0

olá pessoal blz, seguinte.. estou com um problema meio que estranho se alguém puder me dar uma dica agradeço desde ja
aqui abaixo segue a rotina

tmp := TClientDataSet.Create(nil);
tmp.CloneCursor(fmConsultaPedido.cdsPed_Capa,false,false);
tmp.Open;
tmp.First;

while (not tmp.Eof) and
(Trim(edPlaca.text) <> '') and
(trim(edViagem.text) <> '') do
begin
if tmp.fieldByName('flag').AsString = 'False' then
begin
edPedido.text := tmp.fieldByName('PED_NUMERO_PEDIDO').AsString;
meDataPedido.text := tmp.fieldByName('PED_DATA_DIGITACAO').AsString;
MessageDlg('s', mtWarning, [mbYes], 0); <<-- QUANDO DISPARO UMA MSG AQUI OU COM MESSAGEDLG OU SHOWMESSAGE DA ERRO
BitBtn1Click(nil);
end;
tmp.Next; <<--- O ERRO OCORRE NESTA LINHA
end;

Bem quando eu disparo uma mensagem quando o clinetdataset vai para o next da um erro de access violation em modulo midas.dll, eu tenho o midas na aplicacao, tenho o midas no registro do windows, no system, porém se nao coloco a msg a rotina termina numa boa...

vlw
Ricardo Matarazzo

Ricardo Matarazzo

Responder

Posts

26/11/2012

Claudia Nogueira

Que estranho esse erro.
Fiz o código aqui igualzinho e não ocorreu, a única diferença é que não sei o que tem no seu botão BitBtn1 aí não coloquei o BitBtn1Click(nil).

Na lógica era pra dar erro de acesso violado no tmp.next somente se em algum ponto destruísse a variável tmp, e mesmo assim não era pra citar a dll midas.dll na mensagem de erro.

O que tem no código do botão BitBtn1?

Testei no Delphi 7 e XE. Qual versão você usa?
Responder

Gostei + 0

26/11/2012

Ricardo Matarazzo

eh o tratamento e inclusão no banco de dados.. porém eu tb já comentei o botao bitbtn e fiz o teste e ocorre o mesmo erro, ou seja.. ai eh certeza de nao estar destruindo o tmp.. mas mesmo ocorre...e o mais doido é que isso ocorre somente neste form...do projeto
Responder

Gostei + 0

26/11/2012

Ricardo Matarazzo

perdao.. esqueci.. uso a d7
Responder

Gostei + 0

26/11/2012

Ricardo Matarazzo

se ao invés de eu criar clientdataset em execução eu jogar o componente no form o erro continua estranho e no mesmo lugar, porém a msg muda para

raised exception class eAccessViolation with message 'Access vilation at address 000000000. read of address 00000000'

caso alguém tenha alguma outra idéia.. fico grato

att

Ricardo
Responder

Gostei + 0

26/11/2012

Ricardo Matarazzo

Após muitas tentativas descobri o que estava ocorrendo, ao fechar o formulario fmconsultapedido no evento close estava colocando Action := cafree;
ao tirar parou de dar o problema, só não consegui entender a relação entre o form, e a msg para causar a a exception

obr pelo interesse em ajudar claudia
Responder

Gostei + 0

26/11/2012

Claudia Nogueira

Opa que beleza. :)

Após muitas tentativas descobri o que estava ocorrendo, ao fechar o formulario fmconsultapedido no evento close estava colocando Action := cafree;
ao tirar parou de dar o problema, só não consegui entender a relação entre o form, e a msg para causar a a exception

obr pelo interesse em ajudar claudia
Responder

Gostei + 0

27/11/2012

Alisson Santos

Post concluido, qualquer duvida nos informar.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar