PDA

Ver la Versión Completa : Builder c++ 6 y los hilos


javikanin
25-08-2004, 23:55:59
Hola!
Tengo un programa q utiliza hilos de ejecución, y lo tngo hecho con el 5. Lo abro con el 6, y me da errores por todas partes. No se como activar la opción para hilos en el builder 6. Porq si creas un console wizard desde el principio(File/New...), t deja la opción, pero no se como cambiarlo, porq no me reconoce ni handle ni nada, por lo q no puedo probarlo. Tengo q instalar alguna libreía nueva?

Gracias

OSKR
26-11-2004, 14:49:10
Una manera stándar de usar hilos es de la foma API de GUINDOWS
#include <vcl.h>
#pragma hdrstop
//#include "ThreadFormUnit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
HANDLE Thread;

DWORD WINAPI ThreadFunc(LPVOID Param)
{ int i=0;
while(true)
{ Form1->Label1->Caption=IntToStr(i);
Sleep(100);
i++;
}
}

__fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner)
{ randomize();
DWORD Id;
Thread = CreateThread(0, 0, ThreadFunc,
Form1->Handle, CREATE_SUSPENDED, &Id);
if(!Thread)
{ ShowMessage("Error! Cannot create thread.");
Application->Terminate();
}
}

void __fastcall TForm1::StartClick(TObject *)
{
ResumeThread(Thread);
Start->Enabled = false;
Stop->Enabled = true;
}

void __fastcall TForm1::StopClick(TObject *)
{ SuspendThread(Thread);
Stop->Enabled = false;
Start->Enabled = true;
}
//---------------------------------------------------------------------------
O S K R