Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
ВнизТормозит графический интерфейс, цикл как процесс Найти похожие ветки
← →
The Vizit0r! (2004-12-04 12:03) [0]Здраствуйте! У меня возник повторно такой вопрос!
В моей программе есть цикл, который выполняет долгий и муторный процесс!
И тормозит графический интерфейс проги! Так вот нужно реализовать это цикл как отдельный процесс ... Но Я не могу этого сделать, чей-то не получается! Помогите пожалуйста, но только кодом, потому что, что делать я понимаю, а вот реализовать не получается!
Спасибо!
← →
begin...end © (2004-12-04 12:28) [1]> The Vizit0r! (04.12.04 12:03)
Что конкретно непонятно?
← →
[lamer]Barmaglot © (2004-12-04 12:28) [2]В цикле который тормозит поставь Application.processmessages - помоему так...И все будет шоколадно...
← →
The Vizit0r! (2004-12-04 12:34) [3]Application.processmessages неа так все равно иногда под тормаживает...
Нутипа как сделать цикл как процесс TTHread?
Создаю потомок класса Tthread пытаюсь изменить execute и не могу
← →
begin...end © (2004-12-04 12:35) [4]> [3] The Vizit0r! (04.12.04 12:34)
> Создаю потомок класса Tthread пытаюсь изменить execute и
> не могу
Ну так покажите, как пытаетесь.
← →
The Vizit0r! (2004-12-04 12:36) [5]type
ABC=class(TThread);
abc.execute а вот что ему присваивать не знаю... как ему сообщить какой мне нужно цикл создать как процее?
← →
The Vizit0r! (2004-12-04 12:45) [6]ну как там?
← →
begin...end © (2004-12-04 12:46) [7]> [5] The Vizit0r! (04.12.04 12:36)
Ну вот прямо в ABC.Execute и напишите код цикла, например:procedure TMyThread.Execute;
begin
repeat
// Здесь Ваш код, например:
N := Random(1000); // N - переменная, объявленная в TMyThread
// UpdateForm - метод TMyThread, предназначеный для синхронизации (нужно писАть самостоятельно)
Synchronize(UpdateForm)
until Terminated // Условие окончания цикла, оно может быть и другим
end.
← →
The Vizit0r! (2004-12-04 12:48) [8]Спасибо
← →
begin...end © (2004-12-04 12:50) [9]
procedure TMyThread.UpdateForm;
begin
Form1.Caption := IntToStr(N);
end;
В список uses модуля потока добавляете модуль формы Form1, и наоборот.
На форме две кнопки: по нажатию первой запускаете поток (Thread := TMyThread.Create(False)), по нажатию второй - останавливаете (MyThread.Terminate).
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c