У многих людей в результате их трудов возникает проблема...При запуске их приложений или выполнения какого либо длительного процесса возникает зависание формы...Конечно в delphi предусмотрен компонент ati-freeze,но он редко помогает...Что ж поделюсь опытом...В таких случаях очень помогает дополнительный поток в программе...Как его сделать?...Невероятно просто.... И так открываем delphi переходим в код программы и после строк: private { Private declarations } public { Public declarations } end; Добавим следующие: TDFThread=class(TThread) Private Protected Procedure Execute; override; Public Constructor Create(CreateSuspended: boolean); end; Далее кликаем по строке Constructor Create(CreateSuspended: boolean); и нажимаем сочитание клавиш (Ctrl+Shift+C)...Вас сразу же перенесет в самый конец кода где вы должны увидеть constructor TDFThread.Create(CreateSuspended: boolean); begin end; и procedure TDFThread.Execute; begin end; Увидели..?Отлично!В первую конструкцию вписываем: inherited Create(CreateSuspended); Ну а во вторую конструкцию,как вы уже догадались,вписываем выполняемое действие...Я взял самое простое for i:=0 to 10000 do Form1.Memo1.Lines.Add(IntToStr(i))... Грамотные люди заметят что надо будет вынести переменную i,но для новичков пишу,что перед begin надо добавить строку var i:integer;...Ну вот впринципе и все,осталось только привязать дополнительный поток к клавише строкой: TDFThread.Create(False);... Всем удачи в ваших проектах... P.S Ребята которые будут работать с компонентами в дополнительном потоке должны начинать любуя строку с слова Form1.(тут ваш компонент,к примеру Memo1)ну а дальше понятно...

Теги других блогов: программирование Delphi потоки