XmlDocument - Consulta CEP - Erro apenas fora do Delphi ao executar .exe

Delphi

02/09/2010

Pessoal, o código abaixo funciona normalmente, só que quando executo fora do delphi cai na excessão: erro catastrófico. Este código retorna o endereço de uma empresa, ao fornecer o CEP. Infelizmente fora do Delphi obtenho o erro. O erro acontece  na hora de ativar o XMLDoc. Alguém poderia me ajudar.

Segue código:

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, StdCtrls, DBCtrls, DB, Mask, Buttons,
  BmsXPTopBar, ExtDlgs, xmldom, XMLIntf, msxmldom, XMLDoc;

procedure TFrmEmpresa.Button1Click(Sender: TObject);
var
  XMLDoc: TXMLDocument;
  loNode: IXMLNode;
  tipo, resultado, txt: string;
begin
 // memoRes.Clear;
  XMLDoc := TXMLDocument.Create(self);
  try
    XMLDoc.FileName := 'http://www.buscarcep.com.br/?cep=' + SomenteNumero(dbCep.Text) +  '&formato=xml&chave=1Cjy/wEcgwDJO0yHxTECqWuI5HTDTQ/';
    try
      XMLDoc.Active := True;
   //   memoRes.Lines.AddStrings(XMLDOc.XML);
    except
      raise Exception.Create('CEP informado não existe!');
      exit;
    end;
    loNode := XMLDoc.DocumentElement.ChildNodes.FindNode('retorno');
    if loNode = nil  then
      exit;
    dbCep.Text           := loNode.ChildNodes['cep'].Text;
    dbUF.Text           := loNode.ChildNodes['uf'].Text;
    dbCidade.Text       := loNode.ChildNodes['cidade'].Text;
    dbBairro.Text       := loNode.ChildNodes['bairro'].Text;
    tipo     := loNode.ChildNodes['tipo_logradouro'].Text;
    dbEndereco.Text   :=  loNode.ChildNodes['logradouro'].Text;
    resultado    := loNode.ChildNodes['resultado'].Text;
    txt := loNode.ChildNodes['resultado_txt'].Text;
    loNode.NextSibling;
  finally
    FreeAndNil(XMLDoc);
  end;
end;



Abraços a todos
 


Claudio Junior

Claudio Junior

Curtidas 0

Respostas

Marco Salles

Marco Salles

02/09/2010

qndo vc diz fora do Delphi , vc esta se refererindo a outra máquina que não tem o Delphi Instalado Ou mesmo pelo Executável ... .exe ???   Este erro de falha cadastrofica  , acho que esta mais relacionado a Comunicação com o Banco de Dados ( Alguma DLL Faltando , um Sql mal formulado ) do que com a comunicação com o Serviço    
GOSTEI 0
Claudio Junior

Claudio Junior

02/09/2010

Mesma máquina que possou o delphi...

Mas consegui resolver, o arquivo executável estava em modo de compatibilidade windows 95. Desativei essa informação e o programa funcionou normalmente. Nem me lembro porque coloquei nesse modo de compatibilidade tempo atrás.

Mas obrigado a todos.

Abraços

Claudio Stein Junior
GOSTEI 0
POSTAR