Normalmente esse problema é ocasionado por invasão de área de memória.
Vc pode tentar as soluções clássicas de "bootar" a máquina e salvar a aplicação como APT.
Continuando o problema, vc deveria tentar ler usando a Cstruct.
Como vc está construindo a DLL, poderia definir tbém um caracter de fim de arquivo para não depender de procurar pelo Byte 0. É uma solução meia tosca mas deve funcionar.
 
-----Mensagem original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]Em nome de Washington Marques
Enviada em: quinta-feira, 3 de fevereiro de 2005 09:27
Para: sqlwin@virtualand.net
Assunto: Re: RES: RES: RES: [sqlwin] Uso de dll's

Fernando,

Mudamos a forma da dll repassar os dados, anteriormente os dados vinham como um retorno string e n'ao funcionou pois vinha os caracteres malucos, agora tratamos a dll como uma procedure e os dados de retorno veem em um parametro string e assim conseguimos trazer os dados sem precisar das funcoes cStruct, agora estamos com outro problema, est[a ocorrendo um erro desconhecido ao chamarmos a dll (intermitente ) , aparece uma dlg padr'ao do windows: CBI15 - Ocorreu uma opera;'ao ilegal ...
Vc j[a passou por esse problema?

Desde ja agrade;o.
Washington

Fernando Simonetti escreveu:
Washington, de uma olhada na função fListaArquivoRede, que está no anexo
netgetfiles enviado anteriormente.


abraços.

-----Mensagem original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]Em
nome de WASHINGTON LUIZ SAMPAIO MARQUES
Enviada em: segunda-feira, 31 de janeiro de 2005 11:49
Para: sqlwin@virtualand.net
Assunto: Res: RES: RES: [sqlwin] Uso de dll's


Fernado,

Já entendi que precisso setar o buffer antes de usa-lo, porem não entendi
como vou converter os bytes em string, para saber o tamanho que preciso
passar para as funções.
Pode me ajudar quanto a isso?

Desde já agradeço.
Washington Marques

Fernando Simonetti <[EMAIL PROTECTED]> Escrito :

  
Vc vai ter que usar a função CStructCopyFromFarMem...
Irá receber bytes (CStructGetByte), e terá que converte-los para string.
Como não sabe o tamanho previamente terá que abrir um loop e pegar posição
    
a
  
posição até chegar ao fim do buffer (byte = 0).

Segue alguns exemplos usando a Cstruct.

-----Mensagem original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]Em
nome de WASHINGTON LUIZ SAMPAIO MARQUES
Enviada em: sexta-feira, 28 de janeiro de 2005 13:36
Para: sqlwin@virtualand.net
Assunto: Res: RES: [sqlwin] Uso de dll's


Utilizando uma outra dll (STRCI15.DLL) localizei as funções, porem não
    
estou
  
conseguindo conciliar as duas dll's pois não consigo dimencionar as
variaveis da CStructGetString( strBuffer, nOffset, nMaxWidth, strExtract
)-->(nOffset, nMaxWidth)!!!

Fernando Simonetti &amp;lang=pt-br">[EMAIL PROTECTED]>
Escrito :

    
Washington, se está recendo uma string tão grande, então na realidade a
      
DLL
    
está apontando para um buffer.
Esses caracteres malucos são o ponteiro para o buffer.
Vc tem que usar as funções da Cstruct pra conseguir acessar essa
      
informação.
    
Abraços.



Fernando Simonetti
PIT - Tecnologia
Administração de Dados e Suporte ao Desenvolvimento
(13) 3362-2029 
(13) 3362-2924

-----Mensagem original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]Em
nome de WASHINGTON LUIZ SAMPAIO MARQUES
Enviada em: sexta-feira, 28 de janeiro de 2005 11:54
Para: sqlwin@virtualand.net
Assunto: [sqlwin] Uso de dll's



Estou precisando receber uma informação de uma dll que passa uma string
muito grande(ex: 500 mil caracteres), porem recebo apenas 4 caracteres
malucos. Estou usando a seguinte forma de montar a dll no centura 1.5 :
!!CB!! 81
Library name: XXXXXX.dll
	Function: fexport
		Description:
		Export Ordinal: 0
		Returns
			String: LPSTR
		Parameters
			String: LPSTR

Qual o tipo de string devo usar para o returns para conseguir receber
      
esta
  
informacao? Existe outra maneira de montar esta dll?

Desde já agradeço
Washington Marques


______________________________
EMPREL, http://www.recife.pe.gov.br


==============================================
Lista de Centura SQLWindows
Administrador : [EMAIL PROTECTED]
[ http://www.centuraexplorer.com ]
Para sair desta lista mande mensagem para:
[EMAIL PROTECTED]
sem nada no Subject e
com o comando a seguir no corpo da msg:
"unsubscribe sqlwin" (sem as aspas)
==============================================
      
______________________________
EMPREL, http://www.recife.pe.gov.br


==============================================
Lista de Centura SQLWindows
Administrador : [EMAIL PROTECTED]
[ http://www.centuraexplorer.com ]
Para sair desta lista mande mensagem para:
[EMAIL PROTECTED]
sem nada no Subject e
com o comando a seguir no corpo da msg:
"unsubscribe sqlwin" (sem as aspas)
==============================================
    



______________________________
EMPREL, http://www.recife.pe.gov.br


==============================================
Lista de Centura SQLWindows
Administrador : [EMAIL PROTECTED]
[ http://www.centuraexplorer.com ]
Para sair desta lista mande mensagem para:
[EMAIL PROTECTED] sem nada no Subject e
com o comando a seguir no corpo da msg:
"unsubscribe sqlwin" (sem as aspas)
==============================================

==============================================
Lista de Centura SQLWindows
Administrador : [EMAIL PROTECTED]
[ http://www.centuraexplorer.com ]
Para sair desta lista mande mensagem para:
[EMAIL PROTECTED] sem nada no Subject e
com o comando a seguir no corpo da msg:
"unsubscribe sqlwin" (sem as aspas)
==============================================

  

Responder a