Shared delete File

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Taras2
Обычный пользователь
Обычный пользователь
 
Сообщения: 82
Зарегистрирован: 20.06.2003 (Пт) 12:13

Shared delete File

Сообщение Taras2 » 12.09.2003 (Пт) 12:06

Нужно, читать файл и позволить другой проге делать с ним, что она пожелает.
Открываю файл с помощью Open в VB, и пробую удалить в командной строке, del TestFile. Получаю отказ. Аналогично, если открыть с помощью API без FILE_SHARE_DELETE.
Пробую с помощью API открыть с FILE_SHARE_DELETE, получаю отказ (хендл=-1).
Как поступить? Может открыть, быстро прочитать и на это время "заморозить" остальные процессы. Как?

Ducis
Бывалый
Бывалый
 
Сообщения: 232
Зарегистрирован: 24.04.2002 (Ср) 15:36

Сообщение Ducis » 12.09.2003 (Пт) 12:19

Вот полный синтаксис оператора Open:
Open путь For режим [Access доступ] [блокировка] As [#]номерФайла [Len=длина]

Синтаксис инструкции Open содержит следующие элементы:

Элемент Описание
путь Обязательный. Строковое выражение, указывающее имя файла; может содержать имя каталога или папки и имя диска.
режим Обязательный. Ключевое слово, указывающее режим файла: Append, Binary, Input, Output или Random. По умолчанию, файл открывается для доступа в режиме Random.
доступ Необязательный. Ключевое слово, указывающее операции, разрешенные с открытым файлом: Read, Write или Read Write.
блокировка Необязательный. Ключевое слово, указывающее операции, разрешенные с открытым файлом другим процессам: Shared, Lock Read, Lock Write и Lock Read Write.
номерФайла Обязательный. Допустимый номер файла в интервале от 1 до 511 включительно. Для определения следующего свободного номера файла следует использовать функцию FreeFile.
длина Необязательный. Число, меньшее либо равное 32 767 (байт). Для файлов, открытых в режиме Random, это значение является длиной записи. Для файлов с последовательным доступом это значение является числом буферизуемых символов.

Если правильно тебя понял, то тебе нужно оперировать необязательным элементом "блокировка"
Понимаешь? (с)Б.Ельцин.

Taras2
Обычный пользователь
Обычный пользователь
 
Сообщения: 82
Зарегистрирован: 20.06.2003 (Пт) 12:13

Сообщение Taras2 » 12.09.2003 (Пт) 13:52

Ducis писал(а):...
Если правильно тебя понял, то тебе нужно оперировать необязательным элементом "блокировка"

Мне нужно разрешить, любой другой (не моей) проге, удалить мной открытый (но не мной созданный) файл. Или получить сигнал (событие) о том, что кто-то хочет удалить этот файл (затем закрыть его и. т.д.). Или ещё как нибудь.
ЗЫ. В качестве примера, можеш открыть, в режиме просмотра (F3), файл в FAR-e, а после в другой сесии попробовать этот файл удалить, или переместить (переименовать).


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 13

    TopList