PDA

Просмотр полной версии : OwenLibFileAsync.lib поделитесь примером!



-=Vovka=-
30.11.2018, 14:12
Здравствуйте!
Взял за основу пример с диска "Пример работы с USB (Архивация)".
Но там не все ошибки обрабатываются. Пробовал решить самостоятельно, но как только появляется одна из ошибок: ASYNC_PAUSED, ASYNC_QUERY_FULL, то ничего нельзя сделать - только заводской сброс с последующей загрузкой программы. Плюс ко всему почему-то файл иногда вообще не пишется! И еще дата-время создания файла всегда 00:00:00 01.01.1980 - как на это повлиять?
Пожалуйста, поделитесь полным примером работы с USB-Flash

-=Vovka=-
30.11.2018, 14:51
Что-то я не пойму:
40130

Филоненко Владислав
30.11.2018, 19:03
Функция асинхронная, т.е. выполняющаяся длительное время. Чтобы понять когда она закончила работать - анализируем её возвращаемое значение.
Чтобы получить, в данном случае, handle файла - в функцию передаётся адрес handle, куда функция, если всё хорошо запишет значение handle. Или запишет код ошибки (уже связанной не с ассинхронностью, а с открытием файла)

Т.к. функция длительная, то вызывать её надо периодически, пока она не возвратит код "Выполнено" или код ошибки. А пока она работает - она возвращает "идёт работа".

Далее, с одним файлом можно работать только одной функцией в один отрезок времени, т.е. сначала откроем, затем запишем затем закроем. И каждый раз дожидаемся конца работы функции


ASYNC_QUERY_FULL - по очереди функции, не всё сразу скопом. Не успевает отрабатывать запросы.
PAUSE - этот код должен возникать только в момент заливки программы.