Текущий архив: 2004.04.11;
Скачать: CL | DM;
ВнизПотокобезопасный TADOQuery.Open, помогите советом! Найти похожие ветки
← →
DBDEV (2004-04-13 12:53) [0]Собственно тема такая.
Нужно организовать чтение данных в отдельном потоке. Во-первых, освободить поток интерфейса, а во-вторых сделать окошко с Progress Bar-ом.
TADOQuery.OnFetchProgress не адекватен.
Может у кого есть действующие примеры и решения. За исходники буду благодарен!
← →
DBDEV (2004-04-13 12:53) [0]Собственно тема такая.
Нужно организовать чтение данных в отдельном потоке. Во-первых, освободить поток интерфейса, а во-вторых сделать окошко с Progress Bar-ом.
TADOQuery.OnFetchProgress не адекватен.
Может у кого есть действующие примеры и решения. За исходники буду благодарен!
← →
sniknik © (2004-04-13 13:03) [1]> TADOQuery.OnFetchProgress не адекватен.
люблю подобные бездоказательные заявления.
← →
sniknik © (2004-04-13 13:03) [1]> TADOQuery.OnFetchProgress не адекватен.
люблю подобные бездоказательные заявления.
← →
DBDEV (2004-04-13 13:05) [2]По крайней мере в моем случае. попытка выполнить:
void __fastcall TForm1::ADODataSet1FetchProgress(TCustomADODataSet *DataSet, int Progress, int MaxProgress, TEventStatus &EventStatus)
{
Caption = "Percent complete: " +
IntToStr(Trunc(Progress / MaxProgress * 100)) + "%";
Application->ProcessMessages;
}
Приводит к 0% в Caption-е и сразу 100% после. Никакого эффекта прогресса, хотя операция занимает 3-8 сек.
← →
DBDEV (2004-04-13 13:05) [2]По крайней мере в моем случае. попытка выполнить:
void __fastcall TForm1::ADODataSet1FetchProgress(TCustomADODataSet *DataSet, int Progress, int MaxProgress, TEventStatus &EventStatus)
{
Caption = "Percent complete: " +
IntToStr(Trunc(Progress / MaxProgress * 100)) + "%";
Application->ProcessMessages;
}
Приводит к 0% в Caption-е и сразу 100% после. Никакого эффекта прогресса, хотя операция занимает 3-8 сек.
← →
sniknik © (2004-04-13 13:09) [3]а режим асинхронного получения данных включен? подозреваю нет (т.что это ты неадекватен, пока во всяком случае).
← →
sniknik © (2004-04-13 13:09) [3]а режим асинхронного получения данных включен? подозреваю нет (т.что это ты неадекватен, пока во всяком случае).
← →
DBDEV (2004-04-13 13:17) [4]> а режим асинхронного получения данных включен?
А как его включать? Где?
← →
DBDEV (2004-04-13 13:17) [4]> а режим асинхронного получения данных включен?
А как его включать? Где?
← →
DBDEV (2004-04-13 13:30) [5]> а режим асинхронного получения данных включен?
А как его включать? Где?
← →
DBDEV (2004-04-13 13:30) [5]> а режим асинхронного получения данных включен?
А как его включать? Где?
← →
clickmaker © (2004-04-13 13:55) [6]ExecuteOptions := [eoAsyncFetch]
← →
clickmaker © (2004-04-13 13:55) [6]ExecuteOptions := [eoAsyncFetch]
← →
sniknik © (2004-04-13 14:28) [7]clickmaker © (13.04.04 13:55) [6]
;) не неправильно, он же получение данных делает (ADODataSet1FetchProgress) а не выполнение.
но направление уже есть, догадается.
← →
sniknik © (2004-04-13 14:28) [7]clickmaker © (13.04.04 13:55) [6]
;) не неправильно, он же получение данных делает (ADODataSet1FetchProgress) а не выполнение.
но направление уже есть, догадается.
← →
clickmaker © (2004-04-13 14:56) [8]
> sniknik © (13.04.04 14:28) [7]
На выполнение есть eoAsyncExecute. Или я че-то не так понял? :)
← →
clickmaker © (2004-04-13 14:56) [8]
> sniknik © (13.04.04 14:28) [7]
На выполнение есть eoAsyncExecute. Или я че-то не так понял? :)
← →
sniknik © (2004-04-13 15:15) [9]eoAsyncExecute это значит запрос будет выполнятся асинхронно (а не фетчится), т.е. сразу после Open получим возврат в программу, с рекордсетом as is на тот момент. сработает только событие на окончание выполнения (ExecuteComplete) у коннекта, а FetchProgress нет, а ему нужен именно он.
← →
sniknik © (2004-04-13 15:15) [9]eoAsyncExecute это значит запрос будет выполнятся асинхронно (а не фетчится), т.е. сразу после Open получим возврат в программу, с рекордсетом as is на тот момент. сработает только событие на окончание выполнения (ExecuteComplete) у коннекта, а FetchProgress нет, а ему нужен именно он.
← →
DBDEV (2004-04-13 15:35) [10]2 sniknik: и как же быть?
← →
DBDEV (2004-04-13 15:35) [10]2 sniknik: и как же быть?
← →
sniknik © (2004-04-13 23:26) [11]поставить асинхронное получение данных, если еще не догадался то ExecuteOptions := [eoAsyncFetch]
← →
sniknik © (2004-04-13 23:26) [11]поставить асинхронное получение данных, если еще не догадался то ExecuteOptions := [eoAsyncFetch]
← →
DBDEV (2004-04-15 13:43) [12]2 sniknik: какой же ты умный!
← →
DBDEV (2004-04-15 13:43) [12]2 sniknik: какой же ты умный!
Страницы: 1 вся ветка
Текущий архив: 2004.04.11;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.035 c