Показать сообщение отдельно
  #3  
Старый 18.09.2006, 11:18
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Спасбо конечно, но какой Sleep? Нет, конечно, он ничем не поможет!( Sleep просто приостанавливает поток, из которого он вызывается и, соответственно, все сообщения, что система посылает потоку будут копиться в очереди, а мне же, наоборот, нужно все эти сообщения обработать и очистить очередь. Например, при длительных вычислительных циклических операциях сообщения системы тоже копятся в очередь, в результате чего, программа, как бы "подвисает"... Так вот, чтобы она не подвисала, Delphi SDK советует использовать Application.ProcessMessages, но, к огромному сожалению, по крайней мере, в седьмой версии Delphi, эта процедура была реализована не грамотно, в результате чего, в больших программах она вызывает катастрофические последствия на некоторых машинах. Катастрофические для прогаммы, из которой она вызывается)
Ну в общем, Sleep не катит =)
Впрочем, я почти разобрался в проблеме при помощи потоков (TThread), но, все же, не хотелось бы создавать лишние потоки, здорово бы было обрабатывать очередь сообщений из основоного потока (потока главной формы). Вот.
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием