Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
maclogic

Problemas com tstringlist no d6

Recommended Posts

aí galera.. espero que ache uma resposta pra essa, já que minha ultima pergunta foi em vão.. :)

Tenho um TStringList onde estou usando o method SaveToFile

Ex.

slMinhaLista.SaveToFile('c:\teste.txt');

Ate ai beleza..o problema é quando eu tento escrever nesse teste.txt novamente..

Eu já tentei dar um free no StringList e não tem jeito.. eu tenho que fechar o form que ele esta para poder poder dar outro SaveToFile no arquivo 'c:\teste.txt'..

Mesmo no Windows Explorer eu não consigo apagar esse arquivo ...

Alguem tem ideia??

Agradeco de antemao..

[]s

Mac Logic

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procedure SalvaArquivo();

Var

   slTeste : TStringList;

Begin

   slTeste := TStringList.Create();

   While Not Parts.Eof Do

   Begin

        Aqui faz um monte de coisas.. pega descricoes de

        partes e tal..

        slTeste.Add(um monte de coisas);

        parts.Next;

   End;

   slTeste.SaveToFile('c:\teste.txt');

   slTeste.Free;    

End;

Procedure btncommandClick(sender:TObject);

Begin

    SalvaArquivo();

End;

a primeira vez q eu clico no botao ele vai e grava na boa.. depois ele vai e diz q não consegue acessar o arquivo

c:\teste.txt

espero que ajude.. não coloquei a funcao original porque não esta agora aqui comigo.. mas é +/- isso q esta fazendo e a logica do string list q é o q importa é exatamente desse jeito..

[]s

Mac Logic

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho... testei esse código, e não ocorreu nada de anormal aqui... tente chamar essa outra procedure pelo btncommandClick:


Procedure SalvaArquivo2;
Var
  slTeste : TStringList;
  i : integer;
Begin
  slTeste := TStringList.Create();
  for i:=0 to 10 do
      slTeste.Add('Teste...');

  slTeste.SaveToFile('c:\teste.txt');
  slTeste.Free;
End;

Se esse código der problema também, é porque você está fazendo algo de "anormal" com o arquivo em alguma outra parte do código.  d-:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é DanielKO, estou ate me sentindo meio que "*****" com esse post.. tipo estava utilizando depois dessa linha de codigo um componente que eu baixei na internet pra remover os acentos..e eu especificava exatamente esse arquivo teste.. o que acontecia era mesmo depois de eu dar um free nesse componente ele ainda deixava o arquivo lockado.. issow explica o porque eu não conseguia rodar da 2 vez em diante....

Desculpa aí o alarme falso.. :)

[]s

Mac Logic

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×