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]

Responder a