Ver Mensaje Individual
  #1  
Antiguo 04-11-2008
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Reputación: 19
elcigarra Va por buen camino
Buenas prácticas de programación

El título del tema es significativo ya que mi problema debe tener que ver más con eso que con otra cosa.

El tema es: Tengo un procedimiento que invoca a una función para generar unos números aleatorios, los guarda en un array dinámico, y va y viene de otro procedimiento que grafica (sin usar ningún componente, dibuja en el canvas de un TImage).

Estamos hablando de unos 500 000 números.

El problema es que este procedimiento (y el que grafica) usa unos cuantos arrays dinámicos, stringlist, format float, etc. El problema es que me ha empezado a dar errores aleatorios en tiempo de ejecución (a veces si, a veces no, pero la mitad de las veces, o sea demasiadas...)

Detallo los errores (que no los da siempre):
En un procedimiento la primer linea es
Código:
miLista := TStringList.Create
Si esta linea me da error de Access Violation una vez, de ahi no sale (aunque este error es poco frecuente)

si no da el error anterior puede ser que

algunos FormatFloat me den "Invalid Floating Point Operation" (que no me imagino donde opera esta función.

El tema es que no puedo usar el debugger ya que por la cantidad de veces que itera nunca logro ver donde ocurre

No se si tal vez haya que tener alguna precaución con grandes arrays o con procedimientos que se repiten mucho con mucho manejo de numeros y arrays... Yo prob{e cada vez que no uso un array asignarle nil y disminuyó algo pero igual siguen dando problemas de Access violation en cualquier lado.

Incluso a veces salta la ventana gris en código de máquina que no sé cual ese su función pero no creo que nadie la entienda. Yo por lo menos no encontré nada conocido

Si alguien puede ayudar agradezco
Responder Con Cita