Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

передать значение переменной string между потоками [D6, 95/98, ME, 2000, XP]


SergP ©   (2005-12-04 23:17:00) 

Нужно передать значение переменной string из дополнительного потока в основной (нужно для работы со свойствами VCL-компонентов).
Использование глобальных переменных мне почему-то не нравится...


...
const
 MYMESSAGE = WM_USER + 1;

type
 TFrmMain = class(TForm)
 ...
 private
   procedure MyProcedure(var M : TMessage); message MYMESSAGE;
 end;
...

procedure SendString(Str:string);
begin
 // Здесь нужно передать значение Str
 SendMessage(FrmMain.Handle,MYMESSAGE,....);
end;

procedure TFrmmain.MyProcedure(var M: TMessage);
begin
// А здесь нужно его получить

end;


Как это сделать?


Юрий Зотов   (2005-12-05 01:33:00) [1]

procedure SendString(Str:string);
begin
  SendMessage(FrmMain.Handle, MYMESSAGE, Integer(Str), 0);
end;

procedure TFrmmain.MyProcedure(var M: TMessage);
begin
  S := String(M.WParam)
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо