Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 05-03-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Bien. 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. Pon un punto de parada en miTrhead, para detectar si es tu objeto u otro el que ejecuta Terminate, (puedes controlar si un miembro de valor conocido y esperable lo tiene o no, para saber si efectivamente miThread apunta a tu tarea que se está ejecutando).

Los miembros static de una clase son un poco liosos. Deben estar declarados e inicializados al declarar la clase, pues su valor será el mismo para todos los objetos que existan de esa clase. Y sólo se pueden modificar por funciones también declaradas como static. En tu caso es preferible que x exista en todo momento para contro0lar miThread. El problema está en si quieres que exixtan varias tareas capturar ejecutandose al mismo tiempo. Esto te obliga a crear una matriz de punteros en Form1 y tener todos ellos guardados para ejecutar, en un bucle, por ejemplo x->Terminate().

ANALIZA ESTO: El hecho de que
Código:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 x = new Capturar();
 x->Funcion1(); //aqui dentro es donde llega el momento de capturar llama a miThread = new ThredPackets(adhandle)

}
significa que cada vez que pulsas Button2, creas y ejecutas una tarea nueva. x apuntará a la última creada, pero las anteriores "se han perdido en memoria", pues no tienes ningún puntero que las referencie. Existirán mientras exista tu aplicación, de forma que no las puedes parar tu sino terminarán según su código programado.

Última edición por escafandra fecha: 05-03-2008 a las 21:31:13.
Responder Con Cita
 



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
Conexión con BD Access que tenga contraseña LinaC Tablas planas 2 01-02-2008 23:02:40
Ayuda, Problema con Application.terminate delphi .net nethcy .NET 2 08-05-2006 05:00:54
Thread bendito thread...se me pierde la ventana Seba.F1 API de Windows 5 02-02-2006 00:16:30
Application.Terminate Esau Varios 7 06-05-2005 14:12:36
Application.Terminate Vs Close neon Varios 2 30-07-2004 00:11:55


La franja horaria es GMT +2. Ahora son las 20:04:27.


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