and23
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору 2SERGE_BLIZNUK: Отвёртка порадовала, спасибо :-))) Предложение меня, естественно, никоим образом не покоробило. Более того, я считаю его вполне разумным. Но сам я исходил из двух предпосылок: во-первых, ни я, ни Вы не знаем _точной_ и _полной_ постановки задачи. Согласитесь, встречаются экзотические случаи, когда действительно _приходится_ реализовывать бесполезную или даже слегка вредную :-) фичу. И, во-вторых, я тоже предпочитаю там, где это возможно и не сопряжено со значительными трудностями, вешать прогрессбар, а не надпись или мультик: пользователь нетерпелив, а кнопку Reset не заблокируешь. И бить по рукам, как показывает практика, бесполезно: позиция "Я думал(-а), что ОНО зависло" непробиваема. И, между прочим, в свете "стабильности" Windows (прошу прощения за традиционный плевок) зачастую оправдана. А ползущие, пусть и неравномерно ;-) , процентики дают пользователю некоторую иллюзию контроля. В качестве антиоффтопика замечу следующее. Самый тормознутый и потенциально проблеммный (но зато единственный, полностью соответствующий поставленной задаче - см. "во-первых" выше) вариант - это SUSPEND внутри цикла. Он и ХП будет приостанавливать, и прилогу, а в случае сбоя последней вообще даст бадабум. Генерация event'ов добавит мизерную нагрузку на сервер, нагрузка на канал и прилогу - в зависимости от реализации (типа каждую ли итерацию отражать или каждую тысячную). Генераторы - такая же мизерная нагрузка на сервер и минимальная - на канал и прилогу: запрашивать очередное значение можно во время простоя. "Нюанусы" (впрочем, как и в варианте событий, если его не доработать) могут быть - и будут! - при многопользовательской работе. Можно напридумать ещё пачку вариантов, типа сброса значений в некую служебную таблицу, но это уже и я считаю вредным извращением. |