Insufficient memory for this operation

Delphi

06/07/2005

Boa tarde delphianos....

O problema é o seguinte... tenho um sistema para conversão de Base Paradox para .txt, no form eu tenho um gauge para exibir o andamento do processamento e um botão... o problema é o seguinte quando executo a operação + de uma (1) vez o sistema gera o erro de ´memória insuficiente para esta operação´ (Insufficient memory for this operation), como posso resolver esse problema...


desde já agradeço a todos.....


Obs: 512MB de RAM


Crashovewrite

Crashovewrite

Curtidas 0

Respostas

Isabelct

Isabelct

06/07/2005

Qual a versão do Delphi? Eu sofri bastante com esta mensagem nos tempos que utilizava o Delphi 5... Após compilar e executar diversas vezes seguidas o programa, esta mensagem aparecia e a única saída era fechar o Delphi e depois abrir novamente. Não consegui descobrir o motivo da mensagem.

Também é válido você verificar se não está deixando nada sem destruir... Tipo se você cria um TStringList no início da rotina, ele está sendo destruído corretamente ao final da rotina? Dê uma revisada deste tipo.


GOSTEI 0
Crashovewrite

Crashovewrite

06/07/2005

isabelct... utilizo D7.... segue o seguinte código que estou utilizando no meu conversor...

var F: TextFile;
    espaco, CD_BCO, NM_BCO: String;
    i: Integer;
begin
 If Power.mensa(Self, ´Deseja Realmente Exportar os Registros da Tabela Banco para um arquivo .txt´, ipTipoSimNao, ipMensaConfirmation, ipPadraoSim) = ipResultadoSim Then
  begin
   i:= 0;
   DM.tbBanco.Close;
   DM.tbBanco.Open;
   Gauge1.MinValue:= 0;
   Gauge1.MaxValue:= DM.tbBanco.RecordCount;
   espaco:= ´  ´;
      AssignFile(F, ´C:\SISTEMAS\Conversor TxT\Dados\COCBO001.txt´); //... nome do arquivo texto a ser gravado
      Rewrite(F);
      DM.tbBanco.IndexFieldNames:= ´BAN_COD´;
      DM.tbBanco.First;
       While not DM.tbBanco.Eof Do
        begin
        CD_BCO   := Format(´¬.3d´,[DM.tbBancoBAN_COD.AsInteger]) ;
        NM_BCO   := DM.tbBancoBAN_DESC.AsString;

         //Aqui gravo os dados do registro e pula uma linha
         Writeln(F, CD_BCO + ´;´ + espaco + NM_BCO + ´;´);

         myLabel3d2.Caption:= DM.tbBancoBAN_DESC.AsString;
         Application.ProcessMessages;
         DM.tbBanco.Next;
         Inc(i);
         Gauge1.Progress:= Gauge1.Progress + 1;
        end;
         CloseFile(F);

         Power.mensa(Self, ´Foram convertidos ´ + IntToStr(i) + ´ registro(s) com sucesso´, ipTipoOK, ipMensaInformation, ipTipoOK);
         DM.tbBanco.Close;
         Gauge1.Progress:= 0;
  end;



GOSTEI 0
POSTAR