Buenas; soy nuevo en esto de usar hilos por lo que el codigo es muy simple:
Código:
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit5.h"
#include "Unit2.h"
#include "Unit1.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
__fastcall reloj::reloj(bool CreateSuspended)
: TThread(CreateSuspended)
{
}
//---------------------------------------------------------------------------
void __fastcall reloj::Updatehora(void)
{
Form2->Label_hsis->Caption=TimeToStr(Time());
}
void __fastcall reloj::UpdateFecha(void)
{
Form2->Label_fsis->Caption=Date();
}
void __fastcall reloj::Execute()
{
FreeOnTerminate = true;
Synchronize(UpdateFecha);
while(1)
{
if(Terminated) break;
Synchronize(Updatehora);
}
//---- Place thread code here ----
}
//---------------------------------------------------------------------------
como ven es un hilo simple, para mostrar la hora y la fecha en un label de la forma numero 2 de mi programa.... la duda es que aunque funciona bien la mayor parte del tiempo de ves en cuando arroja la siguiente excepcion:
" Proyect Proyectaleph.exe raised exception class EAccesViolation with message 'Access violation at address 7c928FEA in module 'ntdll.dll'. Write
of address 00000010. Process stoped. use Step or Run to continue. "
luego al dar en Ok me resalta el "while(1)" no soy muy ducho en esto del manejo de las excepciones...si alguien ya paso por este problema o sabe como solucionarlo se lo agradecere muchisimo...si hace falta algo mas por especificar por favor haganmelo saber gracias de antemano por cualquier ayuda....
segun leo en la ayuda tiene que ver con las opciones del debugger...pero si es asi.. en que me afecta a mi programa final?.... al parecere tiene que ver con el acceso a una variable que no ha sido creada aun, pero como arreglo esto?. hay algo mal en mi codigo? gracias por tomarse el tiempo de leer esto al menos....
por ultimo.... no c si esto se encuentra ya resuelto en otra parte si es asi por favor hagamenlo saber...gracias nuevamente.