Показать сообщение отдельно
  #17  
Старый 12.03.2014, 17:52
novashdima novashdima вне форума
Новичок
 
Регистрация: 05.02.2010
Адрес: Украина, Киев
Сообщения: 64
Версия Delphi: XE3, XE4
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Не рекомендуется насильно приостанавливать из одного потока другой. Лучше всего сообщить потоку что он должен быть приостановлен и тогда сам поток дойдя до безопасной точки сам себя приостановит.
И где эта безопасная точка находится? При выполнении в форе произойдет остановка? Как сообщить?
Сделать еще один флаг, и вместо фора поставить вайл с проверкой флага? Просто одно действие в форе может выполняться достаточно долго и будет впечатление что или прога зависла или вообще никак не реагирует на кнопку.
Цитата:
Сообщение от poli-smen
Здесь может быть деление на ноль.
Добавлю проверку, но вообще по логике программы не должна вызывать процедура обработки, если данные пустые.
Цитата:
Сообщение от poli-smen
И ещё немного смущают манипуляции с StringList. Создавать его лучше по-нужде, перед использованием проверять на наличие и разрушать в завершении приложения. Либо же создавать однажды при запуске приложения и разрушать при завершении приложения.
Так вот я и создаю стринглист при создании формы и убиваю при уничтожении формы, посмотрите на исходник, который я приложил.
Ответить с цитированием