Вверх ↑
Ответов: 64
Рейтинг: 15
#1: 2012-01-25 17:12:32 ЛС | профиль | цитата
tomas
Для блокировки двойного запуска можно использовать стандартный mutex.

Спасибо работает, не знал про этот компонент, принцип действия такой же, плюс дополнительные возможности.
Таймеры в качестве промежуточных звеньев лучше не использовать.

Что же в этом плохого?
Таймер есть, а использовать его не желательно .
Там от силы замедление в 600-700мс. Может просто есть какие то другое решение, синхронизировать файловые операции с программными? Если для это придётся делать дополнительные опросы и вычисления, так лучше пусть таймер стоит.
Дели схему на функциональные части и упаковывай их в MultiElement'ы.

Схема пустяковая, лишние мултиэлементы замедляют программу.
Зачем там ярлыки? Что они делают?

Ярлык добавляется в пункт "Отправить", правый клик по файлу или папке. Он создаётся (или удаляется) по желанию пользователя. Конечно можно было реализовать через реестр, привязку к расширению exe и папкам.
В схеме почему-то разьехался весь интерфейс в редакторе форм. Или он такой и задуман?

Он не разъехался, просто частично что то под чем то скрыто, понимаю проще использовать панели и скрывать их, в планах вообще интерфейса не было, а потом... не так много элементов что бы для них отдельные панели выделять.
Предлагаю взглянуть на такую обработку списка файлов.
code_26643.txt(кстати, кто что по этому поводу скажет? Может есть путь поинтереснее?)
Работает просто:
Заполняет список файлами, и начинает по очереди выдавать их в поток.
После обработки файла, он удаляется из списка.
Во время обработки можно продолжать наполнять список.

Тоже была идея список использовать, это скорее дело вкуса и удобства.
Можно ещё в место удаления строки из списка, что бы строка отмечалась, или хотя бы перемещались в другой список. Файлы по размеру разные и что то будет мелькать не заметно, а для тех кто хочет проследить визуально полный процесс обработки, это не удобно.
Мне хватает отследить количество найденных файлов, обработанных и в очереди, можно ещё добавить выключение компьютера после обработки .
Если нужно парсить папки, тогда, как ты это уже делал, перед добавлением файла в список, проверяй его тип, и если это папка - рекурсивно сканируй ее, добавляя все найденные файлы в список.
Если опасаешься двух копий программы в памяти, тогда после старта первым делом проверяй mutex, и лишь после - наличие streams.exe

Так это и работает.

В общем, если что то в схеме не понятно, то задавайте вопросы.
Утилиту использовал разово, с поставленной задачей справляется.
Схему и exe перезалил
изменения:
- добавил компонент Mutex (удалил не стандартный компонент)
- возможность добавлять задания в процессе обработки, перетаскивать в окно утилиты, в принципе там эта возможность была, просто счетчик не корректно отображал число файлов в очереди.
карма: 0

0