Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

Проблема с посылкой сообщения потоку.   Найти похожие ветки 

 
Balkon   (2004-11-13 12:42) [0]

Добрый день Уважаемые. Помогите разобраться с проблемой (с потоками только разбираюсь, так что прошу сильно не издеваться).

Задача проста: из основного потока послать "собственное" сообщение
вторичному, и в последнем как-то отреагировать на это сообщение.
Делаю так (вродебы все по книжке, но никакой реакции вторичного потока не происходит):

unit Unit1; //Модуль основного потока
interface
...
var
 Form1: TForm1;
 TestThread: TTestThread;
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
 TestThread := TTestThread.Create(false);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
 SendMessage(TestThread.Handle,WM_MYMESSAGE,0,0);
end;
...

unit Unit2; //Модуль вторичного потока
interface
...
const
 WM_MYMESSAGE = WM_USER + 100;
type
 TTestThread = class(TThread)
 protected
   procedure Execute; override;
 public
   procedure WMMyMessage(var Msg: TMessage); message WM_MYMESSAGE;
 end;
implementation
procedure TTestThread.WMMyMessage(var Msg: TMessage);
begin
 ShowMessage("The message was recieved!");
end;
procedure TTestThread.Execute;
begin
 FreeOnTerminate := true;
end;
...
Подскажите в чем ошибка. Заранее благодарен.


 
MBo ©   (2004-11-13 12:46) [1]

1. Сообщение с помощью Send(Post)Message посылается ОКНУ ,а не потоку. Лиюо создай окно, либо PostThreadMessage используй
2. У твоего потока нет очереди сообщений и цикла обработки сообщений  - Get(Peek)Message и т.д.


 
Balkon   (2004-11-13 12:49) [2]

Спасибо. Разбираюсь дальше...



Страницы: 1 вся ветка

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
14-1100248404
Ega23
2004-11-12 11:33
2004.11.28
Посоветуйте Linux


1-1100487316
Marat
2004-11-15 05:55
2004.11.28
Курсор в StringGrid


1-1100256549
TSa
2004-11-12 13:49
2004.11.28
Спрятать приложение в панали задач


3-1098979128
student pasha
2004-10-28 19:58
2004.11.28
QuickReport из Query


14-1099615084
Кто---то
2004-11-05 03:38
2004.11.28
Где взять структуру tft-шрифта На Дельфи ?