Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-04-2006
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Wink Algunas aclaraciones

Buenas, he notado que el largo y aburrido (por no agregar, complicado) hilo que abrí ha sido leído ya por más de dos decenas... gracias por dedicar unos momentos de su tiempo para leerlo.

A lo mejor no me he sido muy detallista, he vuelto a correr paso a paso el algoritmo y me detuve en aquella línea en que devo obtener el estado del nodo elegido para almacenarlo en la solución. El estado que debería obtenerse, si se sigue el ejemplo que había remarcado anteriormente, es 247888748 mientras que se devuelve otro número muchísimo más extenso. Este estado corresponde a la matriz 2 - 8 - 3/1 - 0 - 4/7 - 6 -, 5 es decir que el algoritmo ha elegido por mover hacia arriba la ficha vacia. La posición de memoria del nodo devuelto por el algoritmo de BuscarF() corresponde al nodo correcto del árbol.... y me llama la atención de que no pueda obtenerse el valor indicado.

Si se presiona una vez más F7, se obtiene el siguiente error:
Código:
Proyect OchoPuzzle.exe raised exception class EAccessViolation with mesage 'Access violation at address 00401E87 in module 'OCHOPUZZZLE.EXE'. Write of address 017AF12C'. Process stopped. Use Step or Run to continue.
Nunca he tenido problemas con punteros en Delphi, yo ya manejaba rutinas con punteros y nunca se me ha presentado este error. Si alguien puede hacerme vez la luz le estaré muy agradecido.
Nuervamente gracias,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #2  
Antiguo 15-04-2006
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Exclamation Por favor, ayuda!

Por favor, si alguien entiende lo que puede ser lo que está fallando... aviseme. Debo presentar esto para el día 20, y ya me agota las neuronas... aparentemente está bien... pero ese error me saca de mis casillas .

Mil disculpas por ser insistente, pero la verdad es que ando muy perdido en el problema...

Muchas gracias a todas aquellas personas que se han tomado un pequeño tiempo para leer todo esto.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 17-04-2006
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Thumbs up Ya esta solucionado

Pues, ya logre ver la luz.... era una simple y estupida... cosa mía.
Resulta que mis algoritmos se producían demasiado rápido y en ocasiones... cuando intentaba acceder a a un valor... este no estaba disponible.
Con un simple Application.ProccessMessages se arregló.
Ya puedo dormir tranquilo....

Lamento a los cincuentas y tantos que hayan leído esto y/o a cualquier personas que haya vuelto loco con mis p......
Saludos
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 17-04-2006
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Me alegro que esté solucionado el problemilla
Responder Con Cita
  #5  
Antiguo 18-04-2006
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Question Pues claro... que me alegró...

Cita:
Empezado por CasimiroNotevi
Me alegro que esté solucionado el problemilla
Pues yo estoy muy chocho... ¡al ver aparecer los resultados en pantalla se me empezaron a salir lágrimas de la emoción!
Llo importante es que resuelva el problema.... el "problemita" menor, que lo había dejado pendiente es que me encontraba con algunas complicaciones para liberar la enorme cantidad de memoria que estos punteros me ocupaban. Me estaba preguntando si existiese alguna función que libere toda la memoria que haya empleado y no estar haciendo Dispose() por todos lados...
Es muy bien sabido que a cada programa se le asigna un espacio en memoria. Pero mi gran duda es que si en dicho espacio se crearan esos nodos.... y si es así ¿bastaría con emplear caFree para que libere todo?
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 18-04-2006
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por Delphius
Pues yo estoy muy chocho... ¡al ver aparecer los resultados en pantalla se me empezaron a salir lágrimas de la emoción!
Llo importante es que resuelva el problema.... el "problemita" menor, que lo había dejado pendiente es que me encontraba con algunas complicaciones para liberar la enorme cantidad de memoria que estos punteros me ocupaban. Me estaba preguntando si existiese alguna función que libere toda la memoria que haya empleado y no estar haciendo Dispose() por todos lados...
Es muy bien sabido que a cada programa se le asigna un espacio en memoria. Pero mi gran duda es que si en dicho espacio se crearan esos nodos.... y si es así ¿bastaría con emplear caFree para que libere todo?
En teoría, sí, al cerrar el form donde haces todo el trabajo, se liberaría la memoria usada.
Responder Con Cita
  #7  
Antiguo 18-04-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Yo siempre mando a liberar la memoria. En la ayuda de New, dice que debemos usar Dispose

Cita:
Empezado por Ayuda de New
When an application is finished using a dynamic variable created with New, it should dispose of the memory allocated for the variable using the Dispose standard procedure.
No creo que delphi se meta en liberar esa memoria que nosotros hemos creado, precisamente por lo que comenta en la ayuda de Dispose:
Cita:
After a call to Dispose, the value of P is undefined and it is an error to reference P.
Desde luego es un tema interesante, puede que desde la version X de delphi si se tenga en cuenta esas cosas. Yo al menos seguiré liberando mis objetos "por si acaso"

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como hacerlo?¿ tiagor64 Conexión con bases de datos 4 09-02-2005 15:55:04
Cómo hacerlo ... Jordy Conexión con bases de datos 2 19-08-2004 10:21:39
D7 a D5 como perder 1 hora. marcoszorrilla Varios 1 22-06-2004 13:59:47
Cómo hacerlo instalable ? K4RL0S Varios 1 03-01-2004 14:50:31
No se como hacerlo apolo18 Impresión 4 19-05-2003 23:13:27


La franja horaria es GMT +2. Ahora son las 15:34:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi