| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
neg1414 Master

Registrado: 31 Ene 2007Mensajes: 284
|
Publicado: Jue 20 Sep, 2018 8:18 am Asunto: Access Violation... |
|
|
Buenas..
Aprovecho la consulta para plantear dos problemas que tengo...
El primero es que no consigo que un progressBar llegue al final una vez terminado un Hilo... Al finalizar el proceso creo un bucle de la forma
| Código: | for (a=MiProgressBar->Position; a<MiProgressBar->Max; a++)
{
MiProgressBar->Position = MiProgressBar->Position +1;
::Sleep(30);
}
::sleep(200)
MiProgressBar->Visible = false; |
El progressbar va funcionando bien una vez finalizado el Hilo y ejecuta el bucle, avanza ,pero en cierto momento antes de finalizar se para y se ejecuta visible = false;
El segundo problema es el siguiente he creado una aplicacion que he corrido en varios pcs con sistemas operatvos xp windows 7 / 8 /10 y va bien.. pero ayer un usuario me ha mandado una incidencia : a el (con windows 7 ) en cierto momento le salta este error
ACCESS VIOLATION AT ADDRESS 0045532 IN MODULE MIPROGRAMA.EXE READ OF ADDRESS 00000000
Alguien me puede orientar indicandome cuando se suelen producir estos errores para saber por donde empezar chequear mi aplicacion.
Un Saludo. |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Dom 23 Sep, 2018 12:10 am Asunto: Re: Access Violation... |
|
|
| neg1414 escribió: | Buenas..
Aprovecho la consulta para plantear dos problemas que tengo...
El primero es que no consigo que un progressBar llegue al final una vez terminado un Hilo... Al finalizar el proceso creo un bucle de la forma
| Código: | for (a=MiProgressBar->Position; a<MiProgressBar->Max; a++)
{
MiProgressBar->Position = MiProgressBar->Position +1;
::Sleep(30);
}
::sleep(200)
MiProgressBar->Visible = false; |
El progressbar va funcionando bien una vez finalizado el Hilo y ejecuta el bucle, avanza ,pero en cierto momento antes de finalizar se para y se ejecuta visible = false;
|
Cuando dices un hilo, ¿te refieres a un thread?
Para que un trhread maneje un ProgressBar o cualquier otra ventana, precisa que tenga un bucle de mensajes. Los mensajes pueden ser caprichosos en cuanto sincronismo. Los Threads hay qque manejarlos con mucho cuidado para no usar elementos que no sean "ThreadSafe" lo que pueden causar resultados inesperados.
| neg1414 escribió: |
El segundo problema es el siguiente he creado una aplicacion que he corrido en varios pcs con sistemas operatvos xp windows 7 / 8 /10 y va bien.. pero ayer un usuario me ha mandado una incidencia : a el (con windows 7 ) en cierto momento le salta este error
ACCESS VIOLATION AT ADDRESS 0045532 IN MODULE MIPROGRAMA.EXE READ OF ADDRESS 00000000
Alguien me puede orientar indicandome cuando se suelen producir estos errores para saber por donde empezar chequear mi aplicacion. |
Ese tipo de mensaje se debe al intento de lectura sobre un puntero nulo. Esto puede ser a un error lógico en el tratamiento de punteros o al uso de un componente no creado o destruido previamente. Son errores difíciles de perseguir porque pueden darse lineas de código tras el error.
Saludos. |
|
| Volver arriba |
|
 |
neg1414 Master

Registrado: 31 Ene 2007Mensajes: 284
|
Publicado: Dom 23 Sep, 2018 9:29 am Asunto: |
|
|
Muchisimas gracias por tu tiempo..
Chequeare el programa fijandome en punteros y compenentes..
Gracias. |
|
| Volver arriba |
|
 |
|