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