Главная страница
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.017 c
6-93160
Grigory Sergeenko
2002-09-30 17:25
2002.11.28
Как запустить file.exe из Delphi!


1-93020
BabayS
2002-11-10 05:51
2002.11.28
Глюк от Борланда ????


4-93301
sas1
2002-10-17 15:44
2002.11.28
вопрос


1-92965
AVD
2002-11-15 10:55
2002.11.28
События в ОЛЕ ???


1-93076
Checist [root]
2002-11-16 13:29
2002.11.28
СРОЧНО НУЖНА ПОМОЩЬ