• Sábado 29 de Junio de 2024, 03:13

Autor Tema:  Clonar Un Form Con Threads  (Leído 1900 veces)

kati

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
Clonar Un Form Con Threads
« en: Miércoles 30 de Mayo de 2007, 23:06 »
0
Hola a todos...

    Tengo una duda, y es que tengo el siguiente "codigo.h":

class OpenSimpleGraphic : public TThread
{
private:
   HANDLE hSemaphore;
protected:
   void __fastcall Execute(void);
   void __fastcall UpdateForm(void);
public:
   bool Cond;
   __fastcall OpenSimpleGraphic(bool CreateSuspended);
};

..y me interesaría que en el "codigo.cpp", concretamente en "UpdateForm(void) {----}", se me clonara un Form....

Alguien me echa un cable???

xd.

weps84

  • Miembro MUY activo
  • ***
  • Mensajes: 138
    • Ver Perfil
Re: Clonar Un Form Con Threads
« Respuesta #1 en: Miércoles 30 de Mayo de 2007, 23:11 »
0
no te capto tu inquietud, de verdad si puedes ser mas explicita te lo agradeceria

kati

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
Re: Clonar Un Form Con Threads
« Respuesta #2 en: Miércoles 30 de Mayo de 2007, 23:39 »
0
Al clicar un botón hago una llamada al Thread (codigo que has visto antes) y me interesa que me clone un Form.

El caso es el siguiente:

   tengo tres valvulas digitales a las que les mido el caudal.

   En un Form tengo un DBChart que grafican el valor leído.

me interessa utilizar el mismo form haciendo que se ejecute como un hilo....

saludos y gracias.

weps84

  • Miembro MUY activo
  • ***
  • Mensajes: 138
    • Ver Perfil
Re: Clonar Un Form Con Threads
« Respuesta #3 en: Miércoles 30 de Mayo de 2007, 23:52 »
0
okey ya te entendi, yo veo 2 caminos, claro de pende de lo que haga la forma, que hagas referencia dentro del cpp a todas las funciones que vaya a ejecutar como un hilo, pero debes trabajar con mas funciones que le envien parametros para saber que tiene que hacer, en cada caso.


otra opcion es que si no es obligado la utilizacion de hilos te aconsejaria trabajar con los timer es una opcion, los conosco mas y se como trabajan.

con los hilos en builder son mas delicados.

espero que esto te ayude, si tienes otra inquietud avisa!

kati

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
Re: Clonar Un Form Con Threads
« Respuesta #4 en: Jueves 31 de Mayo de 2007, 00:15 »
0
Voy a detallar un pokito mas..

El programa consta de un Form1 principal con el que mediante botones se llama a otros forms.

El fom2 (el del caso en cuestión) tiene un Label en el que escribo con un thread de la siguiente forma:

//---------------------------------------------------------------------------
void __fastcall WriteMeasure::Execute(void)
{
   do
   {
      Synchronize(&UpdateLabel);
      Sleep(100);
   }
   while(Cond == true);
}

//---------------------------------------------------------------------------
void __fastcall WriteMeasure::UpdateLabel(void)
{   
   //variables declaradas en Form2.h

         Form1->ReadParameterDirect(iNode, 1, 0, 2, 0,
    200, sAnswer, iErrVal, bytStatus, sErrVal);

   if(strlen(sErrVal) == 0)
      Form2->Label8->Caption = sAnswer;

   if(Form2->Visible == false) Cond = false;
}

Además tiene un DBChart que grafía la variable sAnswer.....

Puedo leer mediante este hilo el caudal de todas las valvulas pero se me escriben todas las respuestas (sAnswer) en el mismo Form2->Label8..

Mi pregunta es.. con hilos puedo crear varios Form2 para que se me escriba cada respuesta (sAnswer) en un Form2->Label8 (HILO1); Form2->Label8 (HILO2).....

HAY alguna función o "algo" tipo...:    Form2->Create(Form2hilo, Form2).... o algo por el estilo que me lo permita??

xd

kati

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
Re: Clonar Un Form Con Threads
« Respuesta #5 en: Viernes 1 de Junio de 2007, 10:56 »
0
hola a todos....   :comp:

 :kicking:  :kicking: Deciros que he solucionado el tema con TABPGDLG, ha sido mas facil de todo lo que yo quería hacer.......aunque también utilizo los threads.. :lightsabre:

Gracias por contestar y un saludo :hola:  :hola:  :hola: