Вопрос № 85869: Добрый день.
Таблица 98 записей, в каждой записи по 29 записей, из которых меняются 14 ниже перечисленых.
Также по событию OnCalcFields происходит нечто такое для 27 полей каждой записи:
t2.FieldByName('SEv').AsString := FormatFloat('#,#'...
Вопрос № 85.869
Добрый день.
Таблица 98 записей, в каждой записи по 29 записей, из которых меняются 14 ниже перечисленых.
Также по событию OnCalcFields происходит нечто такое для 27 полей каждой записи:
t2.FieldByName('SEv').AsString := FormatFloat('#,#', t2.FieldByName('Ev').AsFloat) + ' шт.';
Все вывожу в DBGrid.
Процессор 800 МГц. Засекал время работы:
если закоментировать код приведенный ниже, расчет проходит за
~1 сек (тоесть расчет без записи в БД)
с кодом внизу, но без обработки OnCalcFields - 11 сек
С обработкой OnCalcFields и записью в таблицу (код внизу) - 22 сек
Подскажите, что можно сделать для ускорения данного процесса, ибо совсем не дело ждать пересчета до 20 сек.
Приложение:
Отправлен: 07.05.2007, 14:17
Вопрос задал: Null (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 7)
Отвечает: Крылов Александр Владимирович
Здравствуйте, Null!
Попробуйте t2.Post вынести из цикла и выполнять после него.
Ответ отправил: Крылов Александр Владимирович (статус: 4-ый класс)
Ответ отправлен: 07.05.2007, 14:38 Оценка за ответ: 3 Комментарий оценки: t2.Post убрал совсем.. .разницы нет
Отвечает: LEXASOFT
Здравствуйте, Null!
Попробуйте поставить перед циклом DisableControls, а после него EnableControls.
Ответ отправил: LEXASOFT (статус: 4-ый класс)
Ответ отправлен: 08.05.2007, 00:38 Оценка за ответ: 3 Комментарий оценки: к сожалению, на скорости расчета это не отразилось...
Отправить вопрос экспертам этой рассылки
Приложение (если необходимо):
* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.
Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!
Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.
Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.