CreateFile - почему возвращает "-1"?

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

CreateFile - почему возвращает "-1"?

Сообщение E'rsh » 27.04.2008 (Вс) 13:54

Код: Выделить всё
Dim sTemp As String

sTemp = "C:\ttv1.tmp"
hNewFile = CreateFile(sTemp, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)

в итоге "hNewFile = -1", а беру пример из справочника API
Код: Выделить всё
Dim sTemp As String

sTemp = String(260, 0)
GetTempFileName "C:\", "KPD", 0, sTemp
sTemp = Left$(sTemp, InStr(1, sTemp, Chr$(0)) - 1)
   
hNewFile = CreateFile(sTemp, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)

возвращает "hNewFile = 1084" :shock:
В чем прикол?? Вся остальная часть кода не меняется. Даже после создания имени файла (sTemp), перед CreateFile меняю хоть одну букву в имени файла меняю, в "Locals Window", сразу "-1".
Нельзя предугадать действие дураков, поскольку они крайне изобретательны.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 27.04.2008 (Вс) 15:15

Тебе флаг OPEN_EXISTING ничего говорит, вообще?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

E'rsh
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 12.06.2005 (Вс) 13:52
Откуда: Калининград

Сообщение E'rsh » 27.04.2008 (Вс) 15:49

Хакер писал(а):Тебе флаг OPEN_EXISTING ничего говорит, вообще?

СПАСИБО! Понял. :D
Нельзя предугадать действие дураков, поскольку они крайне изобретательны.


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

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

Сейчас этот форум просматривают: SemrushBot и гости: 37

    TopList