Ver Mensaje Individual
  #6  
Antiguo 25-07-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Reputación: 21
AGAG4 Va por buen camino
Pruebas Finales

He Realizado Pruebas después de haber Actualizado el Delphi 6 con el Service Pack 2 y con Delphi 7, no me funciono me sigue marcando Error de Memoría, entonces, opte por realizar una prequeña aplicación donde meto un pequeño ciclo y voy rellenando 100 caracteres por linea poniendo al ciclo 10,000 Lineas para llenar pero , aproximadamente en la linea 6,000 truena el programa, y si multiplicamos 10,000 X 100 nos da un total de 1,000,000 de Elementos a guardar en un TStringList pero se cuelga en la linea 6,000 nos da un total de 600,000 Elementos Añadidos, Siendo que Mick me señala que son Millones de Elementos lo que soporta un TStringList, les paso el código de este ejemplo:

Código Delphi [-]
....
function LlenaString(car:char; longi:integer):String;
var x:integer;
begin
for x:=1 to longi do
result:=result+car;
end;
 
procedure TForm1.BitBtn1Click(Sender: TObject);
var
x : integer;
lista:TStringList;
begin
lista := TStringList.Create;
ProgressBar1.Max:=10000;
for x:=1 to 10000 do begin
lista.Add(LlenaString('x',100));
ProgressBar1.Position:=x;
Application.ProcessMessages;
label1.Caption:='No. '+IntToStr(x);
end;
lista.SaveToFile('c:\temp.txt');
lista.Free;
end;
....

Más que nada pongo este ejemplo para ver si a alguien le muestra el error EOutOfMemory ya lo probe con 2 PC's, una con WinXp y otra con Win98.

La alternativa que tengo es, hacer Bloques de Datos es decir, por cada 4,000 lineas crear un archivo diferente....

Gracias por sus comentarios....

Última edición por AGAG4 fecha: 25-07-2005 a las 21:10:52. Razón: Corrección
Responder Con Cita