Показать сообщение отдельно
  #13  
Старый 19.05.2008, 09:38
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Более правильно передавать сообщение.
Объявляется константа, определяющая ваше собственное сообщение, которую необходимо разместить в каком-нибудь общедоступном модуле, чтобы она была доступна для модулей, где предполагается ее использовать:
WM_TESTVALUECHANGE = WM_USER+1; (принято начинать с WM_, далее свое наименование; все сообщения до WM_USER зарезервированы Windows).

После изменения значения в форме 1 посылаете сообщение второй форме:
SendMessage(Form2.Handle, WM_TESTVALUECHANGE, 0, T);
где "Т" - передаваемое значение.

Во второй форме надо объявить это сообщение и сделать его реализацию.
Код:
Form2 = class(TForm)
...
  procedure TestValueChange(var Message : TMessage); message WM_TESTVALUECHANGE;
...
end;

implementation
...
  procedure TestValueChange(var Message : TMessage);
  begin
    T := Message.LParam;
    //где "Т" - переменная в этом классе и которая будет отображаться
    //в форме 2
  end;
Ответить с цитированием