![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Maverick |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
Да то, что открывается гораздо медленнее я сразу понял.... Я не мог понять, почему цикл влияет на Bar.... Почему не сразу пробегает мгновенно как должно быть.... Неужели RecordCount до такой степени тормозючий? Да не могет быть.....
Добавлено @ 14:47 Да и с ProcessMessages я тоже игрался.... Обманули...... ![]() |
|||
|
||||
x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
Maverick, это вопрос к DbiGetRecordCount и DbiGetExactRecordCount. бде всё тормознючее, увы.
разве я тебя обманул? или ты не про меня? не понял эту фразу ![]()
![]() -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
Maverick |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
![]() ![]() ![]() ![]() ![]() |
|||
|
||||
x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
Maverick,
![]() -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
x77
Абсолютно верно, если запустить мой код (например, в кнопке) то в гриде записи появятся одновременно с концом работы ProgressBar'а. Вот только это не показатель загрузки таблицы, а мы задерживаем циклом отображение данных в гриде. Вообщем-то можно использовать если надо обмануть пользователя и показать ему "вот видете скока надо ждать" А иначе я вообще не вижу смысла использовать Бар. Я проверил время загрузки таблицы dBase с более чем 15000 записями занимает ок. 60 миллисикунд. ProgressBar имеет смысл использовать только если загрузка больше хотя бы 3-5 сек. И еще x77 твой вариант тоже не идет, я проверил время загрузки Квери и Тэйбла почти одинаково, своим кодом ты обеспечишь 2-х кратную ошибку -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
Maverick |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
Так надо было уточнить, просили же другое в сабж.... А задержать появление в гриде и движение бара можно и другими, менее тотальными способами...
У меня таблица была в полмиллиона записей - ты обманул меня на полторы минуты.... слишком жестоко даже для среднего пользователя... ![]() Добавлено @ 17:04 Я где-то компонент видел соответствующий..... ищу.... Добавлено @ 17:13 не нашел ![]() |
||||
|
|||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
А какие типы тиблиц вы используете?
Я пробовал на Paradox7 - таблица на 500 тыс записей открывается моментально, и никакого процесса показа не происходит ![]() |
|||
|
||||
Maverick |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
Informix... Жутко загруженный сервер и сеть...
|
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
а может в BDE есть какие-нибудь функции типа Dbi...тыры-пыры?
в некорорых программа это ведь реализовано, наверное. |
|||
|
||||
x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
dsergey, в бде - нет. есть левосторонние пакеты, которые работают с теми же dbf без участия бде. и вот в них мне такое встречалось. но навскидку я не помню
![]() -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|||
|
||||
x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
dsergey, не было смысла. и таблицы и квери, работаеют, по большому счёту, одинаково, разница только в тои, что квери позволяет выполнять запросы. но если ты посмотришь исходники, сами методы организации буфера, доступа к записям, - используют одни и те же процедуры bde, а точнее - dbi. в этом смысле бормановская TQuery представляет собой как бы эмуляцию нормальной квери, но открывается она точно так же, как и таблица. гнусное нае@#$во, в общем. а таблицы открываются влёт, т.к. все записи из базы они не сосут: это происходит только при нажатии, например, Ctrl+End на гриде.
смеха ради воткни на форму Table1 и Query1, пропиши для обоих Open, и посмотри, что он запускает. для обоих запускаться будет метод TDataSet.Open, сводящийся к вызову TDataSet.SetActive. он вызовет виртуальный метод InternalOpen, который переопределён в TBdeDataSet, являющимся одним из предков как квери, так и таблицы. все различия между ними связаны с обработкой запросов, парааметров, и пр., а механизм доступа к данным одинаков абсолютно. и заключается этот механизм в буферизованном чтении таблицы, предполагающем мгновенное открытие и подсос по мере надобности. спрашивается, зачем там прогрессбар? тормозить может только обработка сложного запроса, но отобразить это процесс невозможно, т.к. на любом субд он представляет из себя "чёрный ящик", никто не знает, сколько времени он займёт и на каком этапе в данный момент эта обработка находится. а после того, как сам запрос "сгенерён", открытие происходит действительно влёт независимо от кол-ва записей. тормоза при работе с парадоксовскими таблицами как правило вызваны корявостью самого кода, когда при инициализации программы кто-то умный открывает десяток справочных таблиц, связанных между собой десятком лукап-полей, а потом жалуется, какое, дескать, тормознутое бде. а реально, при грамотной организации работы, бде - одна из самых быстрых субд ![]() -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
То х77 - огромное спасибо за объяснения.
|
|||
|
||||
jonik_Dk |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 18.2.2004 Репутация: 1 Всего: 1 |
Кажись компонентик есть для энтого дела.
![]() Добавлено @ 10:38 Нашел как называется : TDBProgressBar, правда версия 2.7 для Delphi5 Так что кому нужно для Delphi 6 и выше можете поискать в Net. Никогда не пользовался этим компонентом - предлагаю не проверенный товар. Если устраивает кого такие условия, могу скинуть ![]() |
|||
|
||||
x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
dsergey, это не столько объяснения, сколько рассуждения вслух. ребята, читайте исходники. на ночь, вместо Hustler и Playboy'а. и всё будет классно ;)
jonik_Dk, кидай ![]() -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |