ERRO 14 AO CARREGAR ARQUIVO TXT
Olá pessoal!! O problema é o seguinte: vou carregar um arquivo .txt com 87 megas de tamanho e dá o erro 14 [Ô]out of string space[Ô]. Não me parece ser um arquivo tão grande assim para encher a memória, mas parece que o problema tem haver com memória. Utilizo o seguinte código para abrir o arquivo
Agora porque o problema só acontece quando abro o arquivo com o Visual Basic??? Porque não acontece quando abro com o bloco de notas ou WordPad??? O que está acontecendo???
i = FreeFile
Open CaminhoListas & Combo1.Text & [Ô].lfc[Ô] For Binary As i
ConteudoBD = String(LOF(i), 32)
Get i, i, ConteudoBD
Close i
Agora porque o problema só acontece quando abro o arquivo com o Visual Basic??? Porque não acontece quando abro com o bloco de notas ou WordPad??? O que está acontecendo???
Ja tentou usar o comando [Ô]For Input[Ô] com o [Ô]Line Input[Ô] ao inves do [Ô]Binary[Ô]?
Valeu a dica Tecla, mas não posso usar esse comando, pois dessa forma vai carregar linha por linha e isso iria demorar demais. Acabei de descobrir agora, que não é exatamente ao carregar o arquivo que o erro acontece e sim depois de carregar, quanto uso o comando replace. Ou seja, quando ele vai trocar alguns caracteres nos dados já carregados, acontece o erro. Continuo achando que está exigindo muito da memória. Minha memória estaria com problemas??? Vou tentar compilar o programa e testar em outras máquinas com mais e menos memória para ver o que acontece. Continuo aceitando sugestões. Valeu!!!
Onde você está carregando isso? Em String, em Controles ou ambos? Verifique se a String ou controle que você está usando suporta a quantidade de dados que possui no arquivo txt. Um arquivo Txt com 87 mg!!!! isso dá quantas linhas.
Veja aqui motivo do erro 14, e como tratá-lo
Obs: Já testou colocar um DoEvents para evitar efeito travar?
Veja aqui motivo do erro 14, e como tratá-lo
Obs: Já testou colocar um DoEvents para evitar efeito travar?
i = FreeFile
Open CaminhoListas & Combo1.Text & [Ô].lfc[Ô] For Binary As i
ConteudoBD = String(LOF(i), 32)
DoEvents
Get i, i, ConteudoBD
Close i
Estou carregando em uma string publica em um módulo, ou seja,
87 Mb dão mais de 800.000 (oitocentos mil) linhas
Descobri que o problema não está em carregar a string, e sim, depois de carregar, quando uso o comando Replace para retirar as quebras de linhas em excesso:
Não sei como declarar a variável ConteudoBD em Controles. Será que isso resolveria???
Public ConteudoBD As String
87 Mb dão mais de 800.000 (oitocentos mil) linhas
Descobri que o problema não está em carregar a string, e sim, depois de carregar, quando uso o comando Replace para retirar as quebras de linhas em excesso:
ConteudoBD = Replace(ConteudoBD, vbCrLf & vbCrLf, [Ô][Ô])
é aqui que o erro 14 aparece. Talvez seja muito para a string guardar tudo isso.Não sei como declarar a variável ConteudoBD em Controles. Será que isso resolveria???
Tópico encerrado , respostas não são mais permitidas