powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Зависание GUI
3 сообщений из 53, страница 3 из 3
Зависание GUI
    #39591318
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НяшикСамый простой, пример кода - который демонстрирует, удобство использования потоков

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
procedure TForm1.Button1Click(Sender: TObject);
begin
  TThread.Synchronize(TThread.CurrentThread,
    procedure
    begin
      while ProgressBar1.Position < ProgressBar1.Max do
      begin
        ProgressBar1.Position := ProgressBar1.Position + 1;

        SleepEx(10, true);
      end;
    end);
end;


зачот!!!!!!!!!!!!!
добавлю к задачам "найди и расскажи ..."
...
Рейтинг: 0 / 0
Зависание GUI
    #39591328
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

как я понимаю, не тупо зависнет :) а будет ждать нажатия (иначе - смысл?). Впрочем - можно взять попробовать, там один файл всего.
...
Рейтинг: 0 / 0
Зависание GUI
    #39591412
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот как выглядит кусок кода с использованием asynccalls+taskex, такое оформление мне понравилось именно простым способом завернуть код в дочерний поток, в данном примере датасет открывается в потоке, а в основном потоке работает WaitShow представляющий собой вызов формы с анимационным гифом. Код меняется минимально и его читаемость остается на приличном уровне.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    dm.qSchet.DisableControls;
    WaitShow;
    try
      EnterWorkerThread;
      try
        dm.qSchet.Open;
        CheckAbort;
      finally
        LeaveWorkerThread;
      end;
    except
      on E:Exception do Error:= E.Message;
    end;
    dm.qSchet.EnableControls;
    WaitHide;
    if Error<>'' then ShowMessage(Error);
...
Рейтинг: 0 / 0
3 сообщений из 53, страница 3 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Зависание GUI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]