Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.28;
Скачать: CL | DM;

Вниз

Как отследить долгие команды?   Найти похожие ветки 

 
shane54 ©   (2002-11-17 19:28) [0]

Чисто теоретически. Допустим у меня

Label1.Caption := "AAA";

работает очень долго. Можно ли этот процесс отследить поэтапно с целью допустим повесить на TrackBar?
Теперь практически. Дело в том, что у меня при работе с БД (Oracle9i если кому интересно) дико долго отрабатывает запрос. Но программно это выглядит как выполнение одной строчки

ADOQuery1.ExecSQL;

И при этом прога понятно дело подвисает.
У меня из идей - вывести в отдельный поток (нить) обработку запроса. Это решит хотя бы проблему зависания. Но вот с отслеживание процесса выполнения...


 
asmith   (2002-11-17 20:20) [1]

Идея с потоком - правильная, долго выполняющийся SQL-запрос нужно выполнять асинхронно, например, в отдельном потоке. А вот с "отслеживанием" не все просто. Прежде всего это зависит от исполняющей среды (BDE, ADO, ...), а также от серверной платформы (есть такие, на которых это сделать невозможно, ИМНО на Oracle это сделать можно)


 
shane54 ©   (2002-11-17 20:42) [2]

Наконец-то кто-то живой нашелся :)
Исполняющая среда - ADO.
Хотелось бы поподробнее насчёт получения от Оракла этапов выполнения запроса...


 
asmith   (2002-11-17 21:10) [3]

Ну, если ADO, то можно обойтись и без Oracle (тем более, что тут я тебе ничего не подскажу, ибо юзал сею штуку примитивно - сделал базу, таблички, чего-то ввел, что-то прочитал - и не очень долго). Запускай ADOQuery в асинхронном режиме ( смотри ExecuteOption ) и напиши для нее обработчик события OnFetchProgress.


 
shane54 ©   (2002-11-18 10:18) [4]

Идея то понятна, но... Мой долгий запрос выводит всего одно значение, т.е. фетчит (fetch) всего 1 раз, как раз тогда, когда запрос заканчивает свою работу...


 
Asderg ©   (2002-11-18 10:26) [5]

на таймер вешай.. :)
будет хоть фигня показываться, но прогрессбар бежать будет, а иллюзия создастся.
по-моему тут большая тема была, как угадать прогресс выполнения запроса...


 
shane54 ©   (2002-11-18 14:07) [6]

2Asderg © (18.11.02 10:26)
Перерыл весь форум, нашел одну дискуссию, но там всё свелось к тому, что надо вешать фиктивный TrackBar для иллюзии работы...



Страницы: 1 вся ветка

Текущий архив: 2002.11.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
1-93102
nika_ufc
2002-11-16 17:32
2002.11.28
плохое объяснение и глюки в статье


3-92917
Skolotovich
2002-11-11 15:58
2002.11.28
проблема с редактированием БД


1-93039
Ильдар
2002-11-16 00:30
2002.11.28
В help для TCanvas описан метод SetClipRect, но при компиляции


3-92886
Miss
2002-11-11 07:37
2002.11.28
Поиск


8-93149
Alex
2002-08-05 17:46
2002.11.28
Графика