![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
Дароф.
Суть задания заключается в параллельной обработке файлов. Допустим, есть несколько больших файлов и определен алгоритм их обработки (например, инвертирование битов). Обработка каждого файла занимает порядка 10 секунд. Для обработки файлов написать класс с методом старта обработки 1. ProcessFile(FileName) И двумя событиями 2. OnProgress(Percentage) 3. OnFinish() После этого реализовать параллельную обработку файлов с общим прогрессом. На форме должен быть такой интерфейс: 1. Список файлов 2. Кнопка запуска обработки 3. Индикатор прогресса (общего прогресса). После завершения обработки должно появится сообщение с соответствующим текстом. Вот что я сделал
я не очень пойму как мне обработать события (и в одном событии еще параметр есть, тоже не совсем понял как его описать)... Спасибо |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
В конце ProcessFile
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Да сдались эти события! Они же тут ничего не дадут. Если бы экземпляров было много то еще куда бы ни шло или там класс был компонентом, а отрисовка прогресса ложилась на другого разработчика, то да, а так смысла нет, события должны вызываться вручную из методов класса, в этом случае удобнее использовать обычные методы класса, чем делать двойную работу. Сам читаешь файл блоками и после чтения нескольких блоков вызываешь процедуру отрисовки прогресса. По поводу размера буфера опытным путем установлено, что лучший буфер для чтения это 20-60кб если интересно то я вот тут тестировал Файловый поток в работе -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
Вот я не много поменял
как мне исправить ошибку??? |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
Объект создавать надо
|
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
Matematik, я это сделал - вылетело ...
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 0040347F in module 'Project1.exe'. Read of address 8BD88B37'. Process stopped. Use Step or Run to continue. |
|||
|
||||
| Matematik |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
У меня "вылетело" ShowMessage
|
||||
|
|||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
А не подскажешь из-за чего может вылетать такое??? |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
Покажи весь код и на какой строке ошибка?
|
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
вот
все в коментариях |
|||
|
||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
Rodman, невнимательно читаешь
Объекты создаеются так
Ошибка на Percentage:=1 получается из-за того что ты пытаешься записать в переменную которой не существует! (объект ведь не создан) |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
Matematik, Сенкс...
Понял свою ошибку.. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |