Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: сообщения объекту на форме  (Прочитано 7363 раз)
0 Пользователей и 1 Гость смотрят эту тему.
igor_m
Гость
« : 11-08-2004 09:51 » 

пишу всв5 ц98, создал форму(на форме есть мемо) и отдельную нить. Хочу передовать сообщения из нити в мемо. Прямая адресация типа Form1->Memo1->Lines->Add("ok find Memo1"); часто вызывает сбой всей винды.
Отдельно код

FF =FindWindow(NULL,"Form1"); //Handle нужной формы
if(FF !=NULL) {
SendMessage(FF,WM_SETTEXT, 0, (LPARAM) "reseiv ok" );
}

работает.
Как бы теперь передать в мемо?
Записан
ixania
Гость
« Ответ #1 : 11-08-2004 14:04 » 

ispolizui TThread i method syncronize
Записан
sss
Специалист

ru
Offline Offline

« Ответ #2 : 12-08-2004 04:12 » 

Или попробуй:
Код:

EnterCriticalSection)...:;
Form1->Memo1->Lines->Add)"ok find Memo1":;
LeaveCriticalSection)...:;
Записан

while (8==8)
igor_m
Гость
« Ответ #3 : 12-08-2004 06:15 » 

Спасибо попробую. Зато заработало вот что :
SendMessage(Form1->Memo1->Handle,WM_SETTEXT, 0, (LPARAM) "reseiv ok" );
Записан
sss
Специалист

ru
Offline Offline

« Ответ #4 : 12-08-2004 08:04 » 

Вообще то Form1->Memo1->Lines->Add("ok find Memo1") это тоже самое, только асинхронный вариант PostMessage(...).
Твой поток, похоже, переполняет очередь сообщений. Поэтому наверное секции не помогут... Хотя попробуй, интересно, будет ли блокироваться выход из PostMessage при переполнении.
Записан

while (8==8)
igor_m
Гость
« Ответ #5 : 12-08-2004 08:45 » 

критич. секции  тоже дали положительный результат даже лучше чем SendMessage , SM каждый раз рисует в 1 строке и стирает всё старое. правда очень на долго программу не включал .
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines