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