Então, é bom ver com alguém da Embarcadero o que pode ser isso. Sugiro uma 
busca no QualityCentral pra saber se não existe algum workaround sobre isso ao 
usar Delphi 7 (deduzo eu que vc esteja usando essa versão).
Sds.

________________________________
To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Mon, 28 Jul 2008 17:04:37 -0300
Subject: RES: RES: RES: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation 
em 64 Bits


Tentei! Não funcionou!

________________________________

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Davi 
Eduardo Borges Wall
Enviada em: segunda-feira, 28 de julho de 2008 16:59
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: RES: RES: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation 
em 64 Bits

Em teoria é a mesma coisa! Mas vou tentar por desencargo e dou retorno para 
lista!

________________________________

De: delphi-br@yahoogrupos.com.br  [mailto:delphi-br@yahoogrupos.com.br  ] Em 
nome de Rubem Nascimento da Rocha
Enviada em: segunda-feira, 28 de julho de 2008 16:54
Para: delphi-br@yahoogrupos.com.br 
Assunto: RE: RES: RES: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation 
em 64 Bits
Prioridade: Alta

Eu, particularmente, faria o código da seguinte maneira:

var
lWsCEP: cepwsdlPortType;
endereco, bairro, cidade, uf: string;
begin
lWsCEP := GetcepwsdlPortType();
try
try
lWsCEP.ConsultarCEP('', '', edCEP.Text, endereco, bairro, cidade, uf);
except
on E: Exception do
begin
ShowMessage('Erro ao chamar WS: ' + E.Message);
exit;
end;
end;
showmessage(endereco + #13#10 + bairro + #13#10 + cidade + #13#10 + uf + 
#13#10);
finally
lWsCEP := nil;
end;
end;

Veja se isso já não ajuda em algo!
Sds.

________________________________

To: delphi-br@yahoogrupos.com.br  
From: [EMAIL PROTECTED]  
Date: Mon, 28 Jul 2008 16:38:29 -0300
Subject: RES: RES: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation em 
64 Bits

Seria isso!

Uma manifestação do Andreano ou do Bruno seria interessante neste assunto!

GetcepwsdlPortType.ConsultarCEP('', '', edCEP.Text, endereco, bairro, cidade, 
uf);

showmessage(endereco + #13#10 +

bairro + #13#10 +

cidade + #13#10 +

uf + #13#10);

Obrigado pela atenção!

________________________________

De: delphi-br@yahoogrupos.com.br   [mailto:delphi-br@yahoogrupos.com.br   ] Em 
nome de Rubem Nascimento da Rocha
Enviada em: segunda-feira, 28 de julho de 2008 16:31
Para: delphi-br@yahoogrupos.com.br  
Assunto: RE: RES: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 
Bits
Prioridade: Alta

Manda um código de exemplo da chamada de método do WS que tá com problema. De 
repente, sei lá, talvez seja necessário alguma diretiva de compilação pra que o 
código possa rodar em ambiente 64 bits. Mas é apenas uma dedução. Alguém da 
Borland/CodeGear/Embarcadero/sei-lá-mais-qual-outro-nome-vai-ser pode dar uma 
luz aqui? Eu não tenho contato com ambientes 64 bits, por isso não tenho como 
ajudar muito!

Sds.

________________________________

To: delphi-br@yahoogrupos.com.br  
From: [EMAIL PROTECTED]  
Date: Mon, 28 Jul 2008 16:12:18 -0300
Subject: RES: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits

Entendo!

Mas estou dizendo que neste exato momento eu abro esta aplicação em um ambiente 
32 bits e a consulta procede sem erros.
Se neste exato momento eu testar em um ambiente 64 bits acontece o dito cujo do 
AV.

De qualquer forma te passei os endereços em PVT.

[]'s

________________________________

De: delphi-br@yahoogrupos.com.br   [mailto:delphi-br@yahoogrupos.com.br   ] Em 
nome de Rubem Nascimento da Rocha
Enviada em: segunda-feira, 28 de julho de 2008 16:07
Para: delphi-br@yahoogrupos.com.br  
Assunto: RE: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
Prioridade: Alta

Sim, mas como é que vai ser pra validar essa unit com um endereço fictício? Eu 
num consigo ver como fazer isso sem o endereço real!

Já aviso logo que se for o endereço do webservice dos correios, ele foi 
desativado faz uma pá de tempo! Cadê o endereço real pra poder avaliar? De 
repente, pode ser alguma mudança no próprio webservice que necessite regerar a 
unit, mas pra isso tem que ter o endereço real do webservice pra poder 
verificar isso!

Sds.

________________________________

To: delphi-br@yahoogrupos.com.br  
From: [EMAIL PROTECTED]  
Date: Mon, 28 Jul 2008 16:04:51 -0300
Subject: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits

Sim! O endereço é fictício.

________________________________

De: delphi-br@yahoogrupos.com.br   [mailto:delphi-br@yahoogrupos.com.br   ] Em 
nome de Rubem Nascimento da Rocha
Enviada em: segunda-feira, 28 de julho de 2008 15:58
Para: delphi-br@yahoogrupos.com.br  
Assunto: RE: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
Prioridade: Alta

Bom, pra começar esse endereço do websrvice não existe! Tentei acessá-lo pelo 
IE e ... nem tchum!
Sds.

________________________________
To: delphi-br@yahoogrupos.com.br  
From: [EMAIL PROTECTED]  
Date: Mon, 28 Jul 2008 15:52:00 -0300
Subject: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits

Exatamente! Este é o código da unit!

cepwsdlPortType = interface(IInvokable)

['{3E7EC10C-CAC0-3F39-B591-CA8F8E9208FB}']

procedure ConsultarCEP(const user: WideString; const pass: WideString; const 
cep: WideString; out endereco: WideString; out bairro: WideString; out cidade: 
WideString; out uf: WideString); stdcall;

procedure ObterCEP(const user: WideString; const pass: WideString; const 
endereco: WideString; const cidade: WideString; const uf: WideString; const 
startrecord: integer; out qtdrecords: integer; out cep_1: WideString; out 
bairro_1: WideString; out endereco_1: WideString;

out cep_2: WideString; out bairro_2: WideString; out endereco_2: WideString; 
out cep_3: WideString; out bairro_3: WideString; out endereco_3: WideString); 
stdcall;

end;

function GetcepwsdlPortType(UseWSDL: Boolean=System.False; Addr: string=''; 
HTTPRIO: THTTPRIO = nil): cepwsdlPortType;

function GetcepwsdlPortType(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): 
cepwsdlPortType;

const

defWSDL = 'http://www.meusite.com/wscep.php?wsdl  > ';

defURL = 'http://www.meusite.com/wscep.php  > ';

defSvc = 'cepwsdl';

defPrt = 'cepwsdlPort';

var

RIO: THTTPRIO;

begin

Result := nil;

if (Addr = '') then

begin

if UseWSDL then

Addr := defWSDL

else

Addr := defURL;

end;

if HTTPRIO = nil then

RIO := THTTPRIO.Create(nil)

else

RIO := HTTPRIO;

try

Result := (RIO as cepwsdlPortType);

if UseWSDL then

begin

RIO.WSDLLocation := Addr;

RIO.Service := defSvc;

RIO.Port := defPrt;

end else

RIO.URL := Addr;

finally

if (Result = nil) and (HTTPRIO = nil) then

RIO.Free;

end;

end;

________________________________

De: delphi-br@yahoogrupos.com.br   [mailto:delphi-br@yahoogrupos.com.br   ] Em 
nome de Rubem Nascimento da Rocha
Enviada em: segunda-feira, 28 de julho de 2008 15:46
Para: delphi-br@yahoogrupos.com.br  
Assunto: RE: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
Prioridade: Alta

Fornece mais detalhes sobre teu SOAPHTTPClient. Deduzo eu que tu codificastes 
um aplicativo pra acessar um webservice. Se for, tu usas uma unit que traduz as 
chamadas ao webservice?
Sds.

________________________________
To: delphi-br@yahoogrupos.com.br  
From: [EMAIL PROTECTED]  
Date: Mon, 28 Jul 2008 15:39:11 -0300
Subject: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits

Olá,

Tenho um Soap Http Client implementado e funcionando em D7 a um bom tempo para 
consulta CEP's.
Cliente atualizou servidor para 64 bits e agora o dito cujo dá AV.

Só acontece em máquinas com S.O. 64 bits.

Talvez alguém já tenha passado por isso ?

[]'s

Davi.

_________________________________________________________________
Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver 
offline. Conheça  o MSN Mobile!
http://mobile.live.com/signup/signup2.aspx?lc=pt-br

Responder a