![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 | ||
Форумчанин
Регистрация: 14.04.2010
Сообщений: 145
|
![]()
Может кто нибудь подсказать\рассказать про потоки. Я взял пример из книги: Фленов М "Библия Delphi", немного изменил:
Цитата:
Цитата:
Поидеи он должен досчитывать до 200000 и выдавать сообщение: "asd"? но не получается, почему? Как сделать чтоб не предок ждал пока наследники подсчитают, а один наследник ждал другого наследника??? (и если их больше двух) Как сделать чтоб один поток выводил полученые результаты в один Edit, а второй поток в другой Edit? (Я понимаю что 2 потока выводят index в один Edit) |
||
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
а вы что ждете то?
надо ждать по TThread.Handle , а не по адресу обьекта. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 14.04.2010
Сообщений: 145
|
![]()
Тогда я вообще ничего не пойму. В каком юните писать функцию писать нужно(WaitForMultipleObjects(2, @co, true, infinite)
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 14.04.2010
Сообщений: 145
|
![]()
Разницы я что то не увидел. точнее вообще никаких действий и комп не реагирует, а проц показывает что не загруженный
Я понял. Дело в тупике: SendMessage(Form1.Edit1.Handle, WM_SETTEXT, 0, Integer(PChar(IntToStr(index)))); 2 потока обращается одновременно в Edit1, а вот как исправить не знаю Последний раз редактировалось Stilet; 21.09.2010 в 14:47. |
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]() Цитата:
в классе потока вводим новое поле mshandle: HWnd; задаем ДО запуска, но после создания потока ему нужные значения кому form1.edit1.handle кому form1.edit2.Handle меняем вызов SendMessage(mshandle, WM_SETTEXT, 0, Integer(PChar(IntToStr(index))));
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 21.09.2010 в 14:46. |
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 14.04.2010
Сообщений: 145
|
![]()
А можно примерчик, я что то не догоняю
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
поток должен знать куда он пишет, иметь соответствующее поле.
в классе потока вводим новое поле type TmyThead=class(....) private mshandle: HWnd; ...... end; задаем ДО запуска, но после создания потока ему нужные значения кому form1.edit1.handle кому form1.edit2.Handle th1:=TmyThead.Create; th1.mshandle:=form1.edit2.handle; th2:=TmyThead.Create; th2.mshandle:=form1.edit1.handle; меняем вызов SendMessage(Form1.Edit1.Handle, WM_SETTEXT, 0, Integer(PChar(IntToStr(index)))); на такой SendMessage(self.mshandle, WM_SETTEXT, 0, Integer(PChar(IntToStr(index))));
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 22.09.2010 в 09:09. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать чтоб listbox показывал нумерацию? | blackstersl | Общие вопросы Delphi | 7 | 01.02.2009 14:28 |
Как вычесть один диапазон из другого? | viter.alex | Microsoft Office Excel | 11 | 20.01.2009 16:30 |
Как сделать, чтоб в ячейке ВЫБИРАЛОСЬ? | kristinafadeewa | Microsoft Office Excel | 12 | 27.10.2008 06:05 |
как сделать чтоб экселев. файл висел открытым на рабочем столе как афиша на заборе? | Мара | Помощь студентам | 6 | 24.07.2008 13:29 |
Как сделать чтоб картинки менялись? | Kaktys v tymane | Помощь студентам | 1 | 09.05.2008 00:53 |