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-----Fernando,
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
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çãoaposiçã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ãoestouconseguindo conciliar as duas dll's pois não consigo dimencionar as variaveis da CStructGetString( strBuffer, nOffset, nMaxWidth, strExtract )-->(nOffset, nMaxWidth)!!! Fernando Simonetti &lang=pt-br">[EMAIL PROTECTED]> Escrito :Washington, se está recendo uma string tão grande, então na realidade aDLLestá 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 essainformaçã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 receberestainformacao? 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) ==============================================