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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2008, 06:31   #21
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Ну, можно и таймерами их запускать, но при этом надо сделать так:
Код:
var
  f1, f2: boolean;

procedure proc1;
begin
showMessage('Start of PROC1');
f1 := True;
while not f2 do sleep (100);
// Здесь должно быть чтото вроде того, что я хочу...
showMessage('End of PROC1');
f1 := False;
end;

procedure proc2;
begin
while not f1 do sleep (100);
showMessage('Start of PROC2');
f2 := True;
// Здесь должно быть чтото вроде того, что я хочу...
while f1 do sleep (100);
showMessage('End of PROC2');
f2 := False;
end;
И два таймера. Таймер 1 запускает proc1 и таймер 2. Таймер 2 запускает proc2.

Последний раз редактировалось Sibedir; 07.02.2008 в 06:35.
Sibedir вне форума Ответить с цитированием
Старый 07.02.2008, 06:40   #22
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Потоки не помогают, я пробовал...
Altera вне форума Ответить с цитированием
Старый 07.02.2008, 13:56   #23
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

2 Sibedir

И Вы искренне полагаете, что Ваш пример будет работать?

Цитата:
Сообщение от Altera Посмотреть сообщение
Потоки не помогают, я пробовал...
Значит, Вы неправильно пробовали. Любая многозадачная ОС предоставляет горы разнообразных объектов для синхронизации задач. В Вашем случае достаточно определть в "главной" процедуре изначально сброшеный объект TEvent, запустить два потока - один для proc1 и один для proc2, запустить сначала proc1, потом proc2, в конце proc1 выставлять TEvent с помощью SetEvent, а в конце proc2, ну или перед выводом строчки "End of PROC2", если угодно, с помощью WaitFor ждать, когда proc1 выставит сигнал. И Всё. Можно еще усовершенствовать программу, с тем чтобы основной поток ждал завершения обоих рабочих - ввести еще один TEvent и выставлять его в конце proc2.
B_N вне форума Ответить с цитированием
Старый 07.02.2008, 17:34   #24
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию


. . . . . . . | . . . . . .
. . . . . . . | . . . . . .
. . . . . . __|__. . . . . .
. . . . . ./ . . \ . . . . .
. . . . . | . . | . . . . .
. . . . . .\_____/ . . . . .
. . . . . . . . . . . . .
. . . . ._____. . . . . . .
. . . . .| . |. . . . . . .
. . . . .| . |. . . .______ .
. . . . .| . |. . . | . . .| .
. . . . . . . . . . | МЫЛО | .
. . . . . . . . . . |______| .
. . . . . . . . . . . . .


Ни кого не стоит винить.
Я сам во всем виновт
Sibedir вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Timer... Teleport Общие вопросы Delphi 13 14.09.2011 17:02
timer ZYRGiX Помощь студентам 3 21.07.2008 15:15
Timer... Roof Общие вопросы Delphi 11 11.10.2007 12:57
Timer PAVEL315 Компоненты Delphi 16 20.12.2006 19:47
timer Toxa Компоненты Delphi 6 06.12.2006 06:58