Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2011, 06:04   #1
asdasys
 
Регистрация: 14.06.2010
Сообщений: 7
Сообщение Создание потока,передача функции в поток

Всем доброго времени суток.
Из названия темы уже всё понятно.
Хотел бы попросить помощи по потокам,как создать его?и как передать в этот поток свой бесконечный цикл?

(оконная прога,2 кнопки,по первой выполняется мой цикл(хочу вынести в поток иначе подвисание программы,2 же кнопка останавливает мой цикл));

надеюсь всё понятно расписал
asdasys вне форума Ответить с цитированием
Старый 25.02.2011, 08:27   #2
D@rkD@iver
Форумчанин
 
Регистрация: 28.07.2009
Сообщений: 189
По умолчанию

капай в сторону API функции CreateThread
пишу программы для студентов и школьников на Pascal, Delphi, C++, WINAPI, assembler
обучаю программированию на паскале(дистанционно);mail: hruslow@gmail.com
D@rkD@iver вне форума Ответить с цитированием
Старый 25.02.2011, 09:15   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

есть ещё application.processmessages если дельфи, с коротым не надо делать поток, а просто предусмотреть в бесконечном цикле проверку на нажатие 2-й кнопки, точнее по нажатию кнопки будет выставляться условие по которому производить выход из цикла, и в любом месте ставить эту команду (appl...) с её помощью прога может обработать 2ю кнопку прямо в цикле, вот и сработает выход.
phomm вне форума Ответить с цитированием
Старый 25.02.2011, 10:53   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
надеюсь всё понятно расписал
Нет не все. Подумай хорошенько что еще ты не указал в ТЗ.
Цитата:
Из названия темы уже всё понятно.
Откуда такая наивность? Знаешь сколько способов есть работы с сопроцессами в программировании
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.02.2011, 17:30   #5
asdasys
 
Регистрация: 14.06.2010
Сообщений: 7
По умолчанию

Ок
понял что написал мало

поток информации большой,в процедуре Button1 идёт выполнение бесконечного цикла(условие while которое выполняется до нажатия Button2)
после входа в процедуру Button1 приложение висит(отказывается реагировать на что либо)
Цитата:
есть ещё application.processmessages если дельфи
и в С++ есть,я его пробую использовать,так приложение всё равно висит,если цикл не выполняется
поэтому и решил пойти в сторону потоков,что бы создать поток,и отдать весь мой цикл

Цитата:
капай в сторону API функции CreateThread
я и прошу вас помочь с этим,не могли бы привести пример как и что
гуглил до создания топика,ни смог понять


Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 while( !... )
  {
   Application->ProcessMessages();
   if()
   { 
 
   }
  }
}

Последний раз редактировалось asdasys; 25.02.2011 в 17:33.
asdasys вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметра в поток Sanprof Общие вопросы Delphi 10 08.07.2015 14:11
Передача потока по UDP. Clos Работа с сетью в Delphi 7 21.06.2010 16:37
Передача потока с использованием idtcpServer Lvenok Помощь студентам 0 24.03.2010 19:03
передача потока по TidUDPclient аааб Работа с сетью в Delphi 0 14.03.2009 13:04
Передача параметра в поток joker Win Api 10 22.12.2007 12:53