|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.05.2010, 02:20 | #1 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Вывод сообщения в отдельном потоке и т.д.
Народ помогите мне, как вывести сообщение в отдельном потоке и так, чтобы я хоть 100 раз нажал кнопку, сто экземпляров запустилось в отдельном потоке. Я тут сидел думал и подумал что у меня всё получилось, оказалось нифига. Короче пытался в отдельном от своего проекте сделать этот вывод сообщения в отдельном потоке. Если найдутся желающие помочь, вот проект.
Главная форма Код главной формы: Код:
Форма сообщения Код окна сообщения: Код:
Последний раз редактировалось Casper-SC; 11.05.2010 в 08:09. |
12.05.2010, 19:05 | #2 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Может это просто не возможно? Просто столько народу посмотрело и никто не ответил. Может создать пустую форму в отдельном потоке, а она уже будет создавать окна с сообщениями, ну будет родителем. Так вариант сделать? Или есть способ лучше?
Или может просто создавать при каждом выводе сообщения новый поток? И как из другого потока вернуть значение в основной поток? И кстати как правильно останавливать поток? Народ ну подскажите вообще не понимаю ничего пока, что в этих потоках, читал немного в MSDN, но там какие-то примеры замудрённые Последний раз редактировалось Casper-SC; 12.05.2010 в 19:09. |
12.05.2010, 19:26 | #3 |
Форумчанин
Регистрация: 16.02.2009
Сообщений: 555
|
Постучи 597671952 помогу может!
|
12.05.2010, 19:31 | #4 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
Используй события.
Логика такая: 1. В главной форме создаешь некое событие и делегат 2. Создаешь 2-ую форму, в ней в отдельном потоке подписываешься на данное событие.(не забудь передать ссылку на 1-ую форму, чтобы иметь доступ к событию). 3. Когда надо вызываешь событие из 1-ой формы, а по вызову события - выводишь то, что надо на 2-ой. Неплохая статья про события и делегаты: http://www.rsdn.ru/article/dotnet/delegat.xml |
12.05.2010, 23:36 | #5 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Я сделал так:
Код:
Код:
Код:
Последний раз редактировалось Casper-SC; 12.05.2010 в 23:49. |
13.05.2010, 00:05 | #6 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
А, нет! Что-то начало глючить эти потоки, программа выдаёт исключения, что поток был в процессе завершения... ошибка короче.
Я её исправил. Не в том месте завершал поток. Если делать так: Код:
Не выполнять этот метод думаю не выход, ведь приложение может и неделю не выключаться как и компьютер, и сколько будет тогда созданно потоков: Код:
================ Всё работает! Просто проблема была в моём коде, а не в потоках. Например Thread.CurrentThread.Abort(); использовал не там где надо. Последний раз редактировалось Casper-SC; 13.05.2010 в 02:19. Причина: Постоянно меняющаяся ситуация :) |
18.05.2010, 02:24 | #7 |
Форумчанин
Регистрация: 04.10.2009
Сообщений: 147
|
помогать ещё нужно?
Ув. Форумчане! Если мои советы были Вам полезны, не забывайте благодарить в виде повышение рейтинга!!!
http://vkontakte.ru/id6715558 |
18.05.2010, 03:32 | #8 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Вроде бы всё уже получилось. Например я создаю форму сообщения в отдельном потоке, а в главном воспроизвожу музыку. При создании сообщения мне нужно передавать параметры, я просто делаю это через статические переменные, которые использую как указатели на главную форму например.
Код:
Код:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
всплывающее окно(в отдельном потоке) | Virus191288 | Компоненты Delphi | 8 | 21.01.2010 13:41 |
Загрузка данных в отдельном потоке | Dj_smart | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 8 | 18.01.2010 23:29 |
Закачка файла происходит в отдельном потоке. | Kyran29 | Работа с сетью в Delphi | 1 | 28.11.2009 01:19 |
Проблема с созданием окна(CreateWindow) в отдельном потоке | Sc0rp | Win Api | 4 | 26.03.2009 22:49 |
Запрос к БД в отдельном потоке (Thread) | tyrell lab | БД в Delphi | 1 | 14.06.2007 08:42 |