Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по функции API Openfile()   Найти похожие ветки 

 
koha!   (2009-02-03 02:42) [0]

Понимаю, что очень банально, но нужно, так как сильно сомнения терзают в правильности ее работы...

открываю файл, который явно не существует:

 hFileRes := OpenFile(PChar(ResFile+"123~"),OFS,OF_READ);
 if hFileRes = 0 then Begin
   SendDebugMsgLastError("hFileRes = 0",GetLastError,0);
   Exit;
 End;
 if GetLastError = HFILE_ERROR then begin
   SendDebugMsgLastError("GetLastError = HFILE_ERROR",GetLastError,0);
   Exit;
 end;


- и в обоих случаях невозникает ни какой ошибки икод делее выполняется......


 
Eraser ©   (2009-02-03 03:41) [1]

> [0] koha!   (03.02.09 02:42)

Note  Only use this function with 16-bit versions of Windows. For newer applications, use the CreateFile function.
(c) MSDN.


 
koha!   (2009-02-03 04:10) [2]

Мда.... а в самом низу подписано:

Requirements
Client Requires Windows Vista, Windows XP, Windows 2000 Professional, Windows NT Workstation, Windows Me, Windows 98, or Windows 95.
Server Requires Windows Server "Longhorn", Windows Server 2003, Windows 2000 Server, or Windows NT Server.
Header Declared in Winbase.h; include Windows.h.

Library Use Kernel32.lib.

DLL Requires Kernel32.dll.

Все чаще и чаще с  болшим трудом понимаю мелко-магких..... :)


 
Eraser ©   (2009-02-03 04:20) [3]

> [2] koha!   (03.02.09 04:10)

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


 
Anatoly Podgoretsky ©   (2009-02-03 07:45) [4]

> Eraser  (03.02.2009 4:20:03)  [3]

И один уже прибежал.


 
clickmaker ©   (2009-02-03 10:40) [5]

> if hFileRes = 0 then Begin

if hFileRes = HFILE_ERROR

потому что
#define HFILE_ERROR ((HFILE)-1)


 
koha!   (2009-02-04 00:29) [6]


> clickmaker ©   (03.02.09 10:40) [5]


вот этот каксяк я и недоглядел..... :(


 
Германн ©   (2009-02-04 01:38) [7]

А уж сколько раз АП говорил о постоянно длящихся проблемах MS с результатом функций.


 
clickmaker ©   (2009-02-04 11:03) [8]

> проблемах MS с результатом функций

а какие там проблемы?
CreateFile тоже -1 вернет при ошибке, так что с совместимостью тут как раз все в порядке
это просто из далеких времен пошло, когда 0 предполагался как валидный дескриптор файла и теоретически может им быть


 
KSergey ©   (2009-02-04 12:58) [9]

> Eraser ©   (03.02.09 03:41) [1]
> Note  Only use this function with 16-bit versions of Windows.
>  For newer applications, use the CreateFile function. (c) MSDN.

И как оно его спасет?
Ну это так, к слову. Трабла-то не в том, как уже выяснено.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.057 c
15-1232916784
Piter
2009-01-25 23:53
2009.03.29
Miranda IM: моя сборка (Mirapit)


15-1232696519
desc
2009-01-23 10:41
2009.03.29
Склеить видео файлы


15-1233240162
@!!ex
2009-01-29 17:42
2009.03.29
Самый лучший фильм 2


15-1232239056
XentaAbsenta
2009-01-18 03:37
2009.03.29
хелп! что за троян был по ссылке? я тоже попался


2-1233920654
девушка
2009-02-06 14:44
2009.03.29
Для чего используется ReadComponentRes





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский