Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.05.2006, 12:22
HAI HAI вне форума
Прохожий
 
Регистрация: 18.05.2006
Сообщения: 1
Репутация: 10
По умолчанию Потоки

Подскажите пожалуйста как реализовать потоки в делфях (полный ламер, если можно поподробнее)
Проблема в том что пока идет процедура просчета, программа не отвечает и нельзя даже нажать кнопочку санцел, которая прерывает работу процедуры. По идее с потоками должно получится, или может есть какой либо иной способ, помогите пожалуйста!
Ответить с цитированием
  #2  
Старый 22.05.2006, 01:25
Аватар для Keygenmusic
Keygenmusic Keygenmusic вне форума
Активный
 
Регистрация: 24.10.2005
Адрес: Там
Сообщения: 201
Репутация: 20
По умолчанию

Вот суперский документ по потокам _hххp://decoding.narod.ru/book/doc/synchronization.zip
Имхо больше ничего и не нужно знать. И годиться не только для делфи
Ответить с цитированием
  #3  
Старый 01.06.2006, 18:33
bravo bravo вне форума
Прохожий
 
Регистрация: 01.06.2006
Сообщения: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от Keygenmusic
Вот суперский документ по потокам _hххp://decoding.narod.ru/book/doc/synchronization.zip
Очень хочется почитать, но я не знаю как это закачать. Ясно что ссылка не на Инет ресурс... Вообщем я не знаю как это закачать. Сори.
Ответить с цитированием
  #4  
Старый 03.06.2006, 20:27
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Цитата:
Сообщение от bravo
Очень хочется почитать, но я не знаю как это закачать. Ясно что ссылка не на Инет ресурс... Вообщем я не знаю как это закачать. Сори.

Что значит "ссылка не на Инет ресурс". А на что? Или ты не догадался заменить _hххp на http. Или вообще выкинь из строки с адресом это - _hххp://, и все будет ок. Ну а если скачать не сможешь, пиши на decoding@narod.ru, вышлю.

Цитата:
Сообщение от HAI
Подскажите пожалуйста как реализовать потоки в делфях (полный ламер, если можно поподробнее)
Проблема в том что пока идет процедура просчета, программа не отвечает и нельзя даже нажать кнопочку санцел, которая прерывает работу процедуры. По идее с потоками должно получится, или может есть какой либо иной способ, помогите пожалуйста!

Если внутри цикла надо обрабатывать различные действия пользователя, нужно вставить внутрь цикла Application.ProcessMessages, и никакие потоки не нужны. Вот пример:
Код:
begin
   // бесконечный цикл
   while true do
   begin
      {
         любые действия
      }
      Application.ProcessMessages;
      if ( условие_выхода ) then Break;
   end;
   // продолжаем работу после цикла
end;

Последний раз редактировалось Decoding, 03.06.2006 в 21:23.
Ответить с цитированием
  #5  
Старый 04.06.2006, 16:35
Аватар для Keygenmusic
Keygenmusic Keygenmusic вне форума
Активный
 
Регистрация: 24.10.2005
Адрес: Там
Сообщения: 201
Репутация: 20
По умолчанию

Цитата:
Если внутри цикла надо обрабатывать различные действия пользователя, нужно вставить внутрь цикла Application.ProcessMessages, и никакие потоки не нужны.
смотря какие действия, а если там слип на секунду? без потока никак тогда.
2 bravo насмешил :beer:
Ответить с цитированием
  #6  
Старый 04.06.2006, 19:28
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Цитата:
Сообщение от Keygenmusic
смотря какие действия, а если там слип на секунду? без потока никак тогда.

Никогда не говори "никак"!!! Sleep() можно реализовать ручками, например так:

Код:
var
  t: Cardinal;
begin
   {
      Делай что надо
   }
   // Потом Sleep на секунду
   t := GetTickCount;
   while GetTickCount-t < 1000 do
      Application.ProcessMessages;
   {
      И спокойно работай дальше
   }
end;

И никакой поток тебе не нужен.

Последний раз редактировалось Decoding, 04.06.2006 в 19:47.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:08.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025