Ver Mensaje Individual
  #5  
Antiguo 07-03-2008
Ziara Ziara is offline
Miembro
 
Registrado: dic 2007
Posts: 43
Reputación: 0
Ziara Va por buen camino
Hola de nuevo,

Cita:
Yo crearía x al crear Form1 y no con un evento de botón que puede ejecutarse o no a gusto del usuario. x debe ser un miembro de Form1 creado y que se destruya en el destructor de Form1.
he hecho lo que me has dicho:

Capturar *x; //variable global

void __fastcall TForm1::FormCreate(TObject *Sender)
{
x = new Capturar(); //crea el objeto
}

..

void __fastcall TForm1::Button4Click(TObject *Sender)
{
x->StopThreadPackets();
}

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
delete x;
}

vale, con esto si le doy al boton de parar sigue sin parar, pero me ha surgido una nueva duda:

en la class Capturar como indiqué anteriormente tengo en el .cpp:

ThreadPackets *miThread;//instancio globalmentre miThread

void Capturar::Funcion1()
{

//se abre el dispositivo
//selecciona el dispositivo a sniffar

miThread = new ThreadPackets(adhandle);

}
y en otro método:

void Capturar::StopThreadPackets()
{
miThread->Terminate();
}
puede que no termine porque al estar en métodos diferentes son dos objetos diferentes? aunque se hayan instanciado globalmente?
Cita:
Pon un punto de parada en miTrhead, para detectar si es tu objeto u otro el que ejecuta Terminate
me podrías decir cómo se hace eso? no controlo muy bien el tema de los puntos de ruptura, si es que te refieres a eso

gracias
Responder Con Cita