Ver Mensaje Individual
  #8  
Antiguo 04-11-2008
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Reputación: 19
elcigarra Va por buen camino
Estuve ausente unas horas y hay mucho que responder. Voy a tratar de explicar...

Uso el debugger y uso breakpoints pero como decía en este caso las lineas no tienen nada que ver... es decir, las lineas que detalle (el "FormatFloat" y la creación del StringList) me las cantò el debugger. El problema es que la mitad de las veces al saltar el error, la linea roja la marca en el "end" de la unidad principal, es decir después de "Application.run".

Con respecto a los break points, tampoco ayudan ya que los errores ocurren en la teración 125745, por ejemplo. El pseudocódigo es algo así...

Código Delphi [-]
Funcion gen_random: extended
begin
  Result = randómico con una distribución particular a partir de random.
end;
 
procedure grafica(vector: array of extended)
begin
  graficar ese array (que puede tener entre 500 y 2 millones de números)
end
 
procedure principal
begin
  SetLength(arraygrande, 2000000);
  for i:=0 to 2000000
    arraygrande[i] := gen_random
    graficar(arraygrande)
  end;

Como entenderán donde quiera que ponga el break point podría pasar cientos de miles de veces sin dar un error.

Pero además no es el error en una linea específica es en cualquier lado. Me suena más a un problema de memoria...

Maeyanes
Los StringList les hago un free, lo que asigno nil son los arrays de extendeds
Responder Con Cita