RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
A diferença está na ligação direta com a CodeGear e o maior contato com os bugs do produto. Apesar de eu já ter visitado o site da CodeGear, com certeza os dois tem muito mais experiência na história de bugs da ferramenta. Pois isto não poderia ser um bug conhecido ? Mas tudo bem, aparentemente estão ignorando esta thread, pois vejo posts do Andreano ao mesmo tempo que corre esta thread, mas nenhuma manifestação. Infelizmente eu não tenho um ambiente 64 bits para depurar. Estamos trabalhando nesse sentido. Até lá estou tentando fazer o possível para descobrir o que está ocasionando o erro. To vendo que no fim das contas vou acabar fazendo uma DLL em Visual Studio para matar esse leão. []'s De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Joao Morais Enviada em: terça-feira, 29 de julho de 2008 08:00 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits Davi Eduardo Borges Wall wrote: Uma manifestação do Andreano ou do Bruno seria interessante neste assunto! Não entendo qual a diferença para qualquer outra pessoa que conheça o Delphi. E os meus $0,02 são o seguinte: liga informações de debug em tudo que estiver ao seu alcance, inclusive em Project | Options | Use debug DCU, e logo que ocorrer a exceção veja o backtrace/callstack/alt+f3. Isso pode ajudar. Joao Morais [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
Com muito orgulho informo que achei a solução para o problema. Como meu amigo Rubem sempre diz: Quem procura acha! http://qc.codegear.com/wc/qcmain.aspx?d=21249 Aqui está um Sample do problema: TRIO.IntfStubs (private) is allocated on Heap. If the processor is DEP enabled, executing the method stub will raise an exception (incorrectly shown as write violation). You need a DEP processor, not software DEP (enabled with XP SP2). I discovered it by having a SOAP call in an Windows installer custom action (DLL), therefore having DEP enabled. By default DEP is enabled only for Windows components, so you have to enable for all programs to reproduce the problem. The simple (but pretty BAD) solution is to allow execution on allocated memory. The good solution is to allocate special executable block (similar to clases.MakeObjectInstance). Esse problema foi resolvido no Delphi 9/10 (de acordo com o que é comentado nesse caso), claro que nós usuários do magnífico D7 não veremos esta correção, muito provavelmente. Basicamente, S.O's 64 bits possuem um careta chamado DEP (Data Execution Prevention) que previne um código malicioso, de executar códigos existentes na memória. Basta desligar esse careta para a sua aplicação que usa SOAP e o tudo funciona magicamente. Gostaria de agradecer os esforços dos colegas da lista! Que venha o próximo leão! (risos) []'s Davi. De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Davi Eduardo Borges Wall Enviada em: terça-feira, 29 de julho de 2008 08:27 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits A diferença está na ligação direta com a CodeGear e o maior contato com os bugs do produto. Apesar de eu já ter visitado o site da CodeGear, com certeza os dois tem muito mais experiência na história de bugs da ferramenta. Pois isto não poderia ser um bug conhecido ? Mas tudo bem, aparentemente estão ignorando esta thread, pois vejo posts do Andreano ao mesmo tempo que corre esta thread, mas nenhuma manifestação. Infelizmente eu não tenho um ambiente 64 bits para depurar. Estamos trabalhando nesse sentido. Até lá estou tentando fazer o possível para descobrir o que está ocasionando o erro. To vendo que no fim das contas vou acabar fazendo uma DLL em Visual Studio para matar esse leão. []'s De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] Em nome de Joao Morais Enviada em: terça-feira, 29 de julho de 2008 08:00 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Assunto: Re: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits Davi Eduardo Borges Wall wrote: Uma manifestação do Andreano ou do Bruno seria interessante neste assunto! Não entendo qual a diferença para qualquer outra pessoa que conheça o Delphi. E os meus $0,02 são o seguinte: liga informações de debug em tudo que estiver ao seu alcance, inclusive em Project | Options | Use debug DCU, e logo que ocorrer a exceção veja o backtrace/callstack/alt+f3. Isso pode ajudar. Joao Morais [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RE: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
É isso aí, Davi! Estou feliz que tenha conseguido resolver seu problema e ainda ter repassado a solução para os colegas da lista! E ainda mais por uma sugestão que lhe passei para procurar alguma coisa no QualityCentral! Parabéns! Sds. To: delphi-br@yahoogrupos.com.br From: [EMAIL PROTECTED] Date: Tue, 29 Jul 2008 09:00:28 -0300 Subject: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits Com muito orgulho informo que achei a solução para o problema. Como meu amigo Rubem sempre diz: Quem procura acha! http://qc.codegear.com/wc/qcmain.aspx?d=21249 Aqui está um Sample do problema: TRIO.IntfStubs (private) is allocated on Heap. If the processor is DEP enabled, executing the method stub will raise an exception (incorrectly shown as write violation). You need a DEP processor, not software DEP (enabled with XP SP2). I discovered it by having a SOAP call in an Windows installer custom action (DLL), therefore having DEP enabled. By default DEP is enabled only for Windows components, so you have to enable for all programs to reproduce the problem. The simple (but pretty BAD) solution is to allow execution on allocated memory. The good solution is to allocate special executable block (similar to clases.MakeObjectInstance). Esse problema foi resolvido no Delphi 9/10 (de acordo com o que é comentado nesse caso), claro que nós usuários do magnífico D7 não veremos esta correção, muito provavelmente. Basicamente, S.O's 64 bits possuem um careta chamado DEP (Data Execution Prevention) que previne um código malicioso, de executar códigos existentes na memória. Basta desligar esse careta para a sua aplicação que usa SOAP e o tudo funciona magicamente. Gostaria de agradecer os esforços dos colegas da lista! Que venha o próximo leão! (risos) []'s Davi. De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Davi Eduardo Borges Wall Enviada em: terça-feira, 29 de julho de 2008 08:27 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits A diferença está na ligação direta com a CodeGear e o maior contato com os bugs do produto. Apesar de eu já ter visitado o site da CodeGear, com certeza os dois tem muito mais experiência na história de bugs da ferramenta. Pois isto não poderia ser um bug conhecido ? Mas tudo bem, aparentemente estão ignorando esta thread, pois vejo posts do Andreano ao mesmo tempo que corre esta thread, mas nenhuma manifestação. Infelizmente eu não tenho um ambiente 64 bits para depurar. Estamos trabalhando nesse sentido. Até lá estou tentando fazer o possível para descobrir o que está ocasionando o erro. To vendo que no fim das contas vou acabar fazendo uma DLL em Visual Studio para matar esse leão. []'s De: delphi-br@yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br ] Em nome de Joao Morais Enviada em: terça-feira, 29 de julho de 2008 08:00 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits Davi Eduardo Borges Wall wrote: Uma manifestação do Andreano ou do Bruno seria interessante neste assunto! Não entendo qual a diferença para qualquer outra pessoa que conheça o Delphi. E os meus $0,02 são o seguinte: liga informações de debug em tudo que estiver ao seu alcance, inclusive em Project | Options | Use debug DCU, e logo que ocorrer a exceção veja o backtrace/callstack/alt+f3. Isso pode ajudar. Joao Morais [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] _ Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o Messenger! É GRÁTIS! http://www.msn.com.br/emoticonpack
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:[EMAIL PROTECTED] 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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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. __ Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger! http://www.amigosdomessenger.com.br/ http://www.amigosdomessenger.com.br/ [As partes desta mensagem que não continham texto foram removidas]
RE: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
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:[EMAIL PROTECTED] 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. _ Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o Messenger! É GRÁTIS! http://www.msn.com.br/emoticonpack
RES: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
Sim! O endereço é fictício. De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] 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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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 http://www.meusite.com/wscep.php?wsdl '; defURL = 'http://www.meusite.com/wscep.php 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%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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. __ Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o Messenger! É GRÁTIS! http://www.msn.com.br/emoticonpack http://www.msn.com.br/emoticonpack [As partes desta mensagem que não continham texto foram removidas]
RE: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
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:[EMAIL PROTECTED] 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. __ Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o Messenger! É GRÁTIS! http://www.msn.com.br/emoticonpack [As partes desta mensagem que não continham texto foram removidas] _ Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o Messenger! É GRÁTIS! http://www.msn.com.br/emoticonpack
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:[EMAIL PROTECTED] 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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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 http://www.meusite.com/wscep.php?wsdl '; defURL = 'http://www.meusite.com/wscep.php 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%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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
RE: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
Acho melhor que vc passe o endereço em private pro Rubem, que se dispôs a te ajudar, Davi. Atte, Ricardo. --- Em seg, 28/7/08, Rubem Nascimento da Rocha [EMAIL PROTECTED] escreveu: De: Rubem Nascimento da Rocha [EMAIL PROTECTED] Assunto: RE: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits Para: delphi-br@yahoogrupos.com.br Data: Segunda-feira, 28 de Julho de 2008, 16:07 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: [EMAIL PROTECTED] os.com.br From: [EMAIL PROTECTED] com.br 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: [EMAIL PROTECTED] os.com.br [mailto:[EMAIL PROTECTED] os.com.br] Em nome de Rubem Nascimento da Rocha Enviada em: segunda-feira, 28 de julho de 2008 15:58 Para: [EMAIL PROTECTED] os.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: [EMAIL PROTECTED] os.com.br From: [EMAIL PROTECTED] com.br 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(IInvokabl e) ['{3E7EC10C- CAC0-3F39- B591-CA8F8E9208F B}'] 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: [EMAIL PROTECTED] os.com.br [mailto:[EMAIL PROTECTED] os.com.br ] Em nome de Rubem Nascimento da Rocha Enviada em: segunda-feira, 28 de julho de 2008 15:46 Para: [EMAIL PROTECTED] os.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: [EMAIL PROTECTED] os.com.br From: [EMAIL PROTECTED] com.br 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. _ _ _ _ _ _ Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o Messenger! É GRÁTIS! http://www.msn. com.br/emoticonp ack [As partes desta mensagem que não continham texto foram removidas] _ _ _ _ _ _ Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o Messenger! É GRÁTIS! http://www.msn. com.br/emoticonp ack
RE: RES: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
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:[EMAIL PROTECTED] 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
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:[EMAIL PROTECTED] 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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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 http://www.meusite.com/wscep.php?wsdl '; defURL = 'http://www.meusite.com/wscep.php http://www.meusite.com/wscep.php '; defSvc = 'cepwsdl'; defPrt = 'cepwsdlPort'; var RIO: THTTPRIO; begin Result := nil; if (Addr = '') then begin if UseWSDL then Addr
RE: RES: RES: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
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:[EMAIL PROTECTED] 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
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:[EMAIL PROTECTED] 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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br 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
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%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br mailto:davi.wall%40mult.com.br 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%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br mailto:davi.wall%40mult.com.br 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%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.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 mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] mailto:davi.wall%40mult.com.br mailto:davi.wall%40mult.com.br Date: Mon, 28 Jul 2008 16:04:51 -0300 Subject: RES: RES: [delphi-br] SOAPHTTPClient - Access
RE: RES: RES: RES: RES: RES: [delphi-br] SOAPHTTPClient - Access Violation em 64 Bits
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