У многих людей в результате их трудов возникает проблема...При запуске их приложений или выполнения какого либо длительного процесса возникает зависание формы...Конечно в 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)ну а дальше понятно...