Creo que tengo que hacer algo asi:
Código:
void __fastcall TFormPrincipal::FormClose(TObject *Sender, TCloseAction &Action)
{
//Aqui entramos al cerrar la aplicacion y, si el hilo está, lo terminamos
//para poder salir sin problemas
if(HiloDebugger != NULL)
{
HiloDebugger->Suspended = true;
HiloDebugger->Terminate();
delete HiloDebugger;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormPrincipal::ButtonAbortarClick(TObject *Sender)
{
//Terminamos el hilo del debugger
if(HiloDebugger != NULL)
{
HiloDebugger->Suspended = true;
HiloDebugger->Terminate();
delete HiloDebugger;
}
//Habilitamos el boton para crear el hilo y deshabilitamos el de terminar el hilo
ButtonDesencriptar->Enabled = true;
ButtonEncriptar->Enabled = true;
ButtonAbortar->Enabled = false;
ButtonPausar->Enabled = false;
EditDesencriptado->Enabled = true;
EditEncriptado->Enabled = true;
CheckBoxConfirmar->Enabled = true;
ComboBoxRango->Enabled = true;
FormPrincipal->RadioGroupOrigen->Enabled = true;
}
Y dentro del bucle que está en una funcion que es ejecutada por ActualizarDatos y que no es miembro de la clase HDebugger tengo esto:
Código:
if(HDebugger->Suspended == true)
HDebugger->Suspend();
Pero esto ultimo no se lo traga ¿como hago referencia a esa variable dentro de esta funcion?
En Unit1.cpp puedo hacer HiloDebugger->Suspended sin problemas porque creo el hilo con "new" pero en HiloDBG.cpp no puedo y necesito acceder a esa propiedad desde la funcion externa. ¿tengo que crear mi funcion como miembro de la clase para acceder?