реклама на сайте
подробности

 
 
> Зависает кнопка при вызове потока, c++ builder
Buratino
сообщение Oct 8 2013, 09:38
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 24-11-11
Из: Город-герой Минск
Пользователь №: 68 491



При выполнении потока по нажатию кнопки, сама кнопка зависает, и невозможно выполнение никаких других действий до завершения всех действий в потоке, что я не так делаю?

Код Unit2.сpp потока :
Код
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Windows.h"
#include "math.h"
#pragma package(smart_init)
#define pi 3.1415926


__fastcall Ready::Ready(bool CreateSuspended)
    : TThread(CreateSuspended)
{
}
//---------------------------------------------------------------------------
void __fastcall Ready::Execute()
{

Synchronize(Graph);

//---- Place thread code here ----
}

void __fastcall Ready::Graph(void)   //определение cозданной функции
{
    for (int i = 0; i < 1000; i++)
        {
           Form1->Memo2->Lines->Add(sin(i));
           Sleep(2000);
         }
}


Unit2.h:
Код
class Ready : public TThread
{
private:
protected:
    void __fastcall Execute();
public:
    TMemo *Memo2; //объект мемо
    void __fastcall Graph();
    __fastcall Ready(bool CreateSuspended); //объявление исполняемой функции
};


код обработчика кнопки Button2 Unit1.cpp:
Код
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Thread = new Ready(false); //cоздал объект класса TThread (Ready)
Thread->FreeOnTerminate = true; //разрушаем объект после окончания выполнения
Thread->Priority = tpLower; //задал приоритет
}
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 09:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.0136 секунд с 7
ELECTRONIX ©2004-2016