|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.09.2010, 22:47 | #1 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
"Убить" BackgroundWorker. Не дать продолжать операцию.
У меня программа выгружает файл в интернет на сервер. Работает всё это дело через BackgroundWorker. Я сделал так, чтобы. Жму "Выгрузить", файл начинает отгружаться, жму "Отмена":
Код:
Код:
Я знаю, что в обработчике DoWork можно вставить такой код: Код:
Код:
Что можно сделать, чтобы операция сразу бы прекращала выполняться при нажатии "Отмена"? Последний раз редактировалось Casper-SC; 25.09.2010 в 22:55. |
25.09.2010, 22:57 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Вы понимаете, что код нельзя просто взять и оборвать в любой момент, и указать процессору выполнять другие инструкции, тогда попросту все рухнет, вся система, и ждите перезагрузки. Теперь по сути, обычно долгая работа это цикл, если нет, то сделайте цикл, т.е. к примеру если это чтение файла, то читайте маленькими частями в цикле. В цикле добавляете условие, проверку отмени действия. Вот и все.
|
26.09.2010, 18:06 | #3 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Хорошо. Например вот есть у меня метод передачи:
Код:
Вот я хочу выгружать файл маленькими частями с проверкой отменили ли работу BackgroundWorker'у (пока проверку не делаю, надо бы вообще понять как передавать частями файл). Делаю так: Код:
Хм... А вот теперь получилось, всё передаётся. Ничего не понимаю, то передаётся, то нет Последний раз редактировалось Casper-SC; 26.09.2010 в 18:39. Причина: Получилось передать файл |
26.09.2010, 18:32 | #4 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Код:
Код:
|
26.09.2010, 22:23 | #5 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Ах-ха-ха-ха, да вообще жесть, я так особо не думая, хотел вообще разобраться, просто запрос и отправку мне помогли сделать, я вообще впервые сам разбираюсь как куда-то передавать файлы. Кстати интересная вещь, открывает большие возможности
Вот как я всё перелопатил, вроде то что надо: Код:
P.S. Если опять не так что-то сделал, мнение мне будет интересно чьё либо. Последний раз редактировалось Casper-SC; 27.09.2010 в 02:33. |
27.09.2010, 09:27 | #6 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Код:
Код:
Код:
Код:
|
27.09.2010, 18:10 | #7 | |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Цитата:
Вообще сейчас пока это в таком виде (урезано, так как весь код и не влезет и нет смысла его выкладывать): Код:
Последний раз редактировалось Casper-SC; 27.09.2010 в 19:00. |
|
27.09.2010, 21:33 | #9 | |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Цитата:
Почему лучше выгружать по 1024 байта (одному килобайту). Мне просто не понятно это. |
|
29.09.2010, 21:02 | #10 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обойти "преобразование типа из "string" в "float" невозможно" | lexluter1988 | Помощь студентам | 1 | 07.08.2010 12:23 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |
"Убить" конкурента | valerij | Microsoft Office Excel | 15 | 26.08.2008 15:08 |