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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2012, 15:13   #1
Erlotaza
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 37
По умолчанию Delphi. 2 графика в потоках. Не знаю, где ошибка

Привет всем. Задали написать программу с 2 графиками (canvas) в Delphi, связанные потоками. Сначала написал просто с графиком, потом "дописал" поток. Добавил второй график на форму и хотел дописать поток... Дописал :D, но оба графика должны рисоваться одновременно, а у меня они последовательно... Ссылка на архив с самой программой:
http://zalil.ru/33112644.
Всё, что нужно исправить: ОДНОВРЕМЕННЫЙ(!) запуск графиком. Заранее благодарен
Erlotaza вне форума Ответить с цитированием
Старый 21.04.2012, 15:23   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

А потоки обязательно использовать?
Для создания иллюзии параллельности я бы посоветовал рисовать графики псевдо-параллельно, то есть, каждый из этих двух графиков дорисовывать по небольшим частям...
Вадим Мошев вне форума Ответить с цитированием
Старый 21.04.2012, 15:28   #3
Erlotaza
Пользователь
 
Регистрация: 13.02.2012
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
А потоки обязательно использовать?
Да, нам задали именно с потоками.
Erlotaza вне форума Ответить с цитированием
Старый 21.04.2012, 21:38   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Erlotaza, вот ответ на вопрос с примером http://www.delphi-manual.ru/synchronize.php
eoln вне форума Ответить с цитированием
Старый 21.04.2012, 21:47   #5
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Вот так будет выглядеть Execete
Код:
procedure TMyThread1.Execute;
begin
    while not Terminated do
     setPix;
end;

procedure TMyThread2.Execute;
begin
      while not Terminated do
     setPix2;
end;
eoln, следуя примеру на сайте, все равно синхронно 2 графика не выводятся. Может я что-то не так сделал?
Если помог, проси поставить минус. Будь оригинален!

Последний раз редактировалось Rin; 21.04.2012 в 22:01.
Rin вне форума Ответить с цитированием
Старый 21.04.2012, 22:08   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,429
По умолчанию

Теперь выводит параллельно.

eoln, да, как раз этот ман и нашел в поиске "Потоки в Delphi"
Rin, дело в том, что в Synchronize должно делаться как можно меньше (только вывод текущей информации), а в Execute все остальное (расчет точек).
Вложения
Тип файла: zip Project1.zip (286.7 Кб, 26 просмотров)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 26.04.2012, 20:24   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,429
По умолчанию

Упс, прицепил не тот проект
http://programmersforum.ru/showpost....06&postcount=6
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в потоках (Access violation at address) designer999 Общие вопросы Delphi 9 25.08.2011 16:04
не знаю где ошибка! Аксана Помощь студентам 0 05.04.2011 19:46
Поиск (не знаю где ошибка) denisov PHP 9 17.02.2010 16:50
Не знаю где ошибка 24nastya11 Помощь студентам 2 20.09.2009 20:43
Добавить инди в delphi 10 light, но как это зделать и где её взять не знаю 100GRamm Компоненты Delphi 1 09.02.2009 13:38