Главная страница
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.018 c
8-93148
Cr@sh
2002-08-07 12:37
2002.11.28
Как заштриховать произвольную область в TImage?


3-92858
weak
2002-11-08 11:27
2002.11.28
Как данные из DBGrida перенести в html документ.


1-92969
han_malign
2002-11-18 12:41
2002.11.28
Перетаскивание формы за контент руками


1-93143
VJar
2002-11-18 01:22
2002.11.28
Memo Scrollbars


4-93284
Smoker
2002-10-15 00:29
2002.11.28
Подскажите,как перехватить печать из MS-DOS а