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

Вниз

GetFileSizeEx   Найти похожие ветки 

 
SergeyM ©   (2004-05-28 19:24) [0]

Доброго времени суток!
Мне нужно получить размер файла и я использую данную функцию, но в данной ф-ии надо чтобы Хендл был GENERIC_READ. В FileOpen такой фишки нет и я использую fmOpenRead при компиляции идет ругань на участок памяти не может типа рид или чето в этом духе. Подскажите как быть?


 
Anatoly Podgoretsky ©   (2004-05-28 19:39) [1]

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


 
SergeyM ©   (2004-05-28 19:43) [2]

Пишу так
GetFileSizeEx(FileOpen(ScanDir,fmOpenRead),sizef);
Если закоментарить то все работает, а если нет то ошибка.
саму ф-ию объявлял так
function GetFileSizeEx(hFile: THandle; lpFileSize: PLargeInteger): BOOL;far;external "C:\windows\sistem32\kernel32.dll";


 
SammIk ©   (2004-05-28 19:48) [3]

может stdcall попробовать?


 
SergeyM ©   (2004-05-28 19:59) [4]

Дак она вроде только в длл используется?


 
SammIk ©   (2004-05-28 20:05) [5]

Чего?
Просто поставь другои вызов, stdcall? и скорее всего ошибки не будет.


 
Anatoly Podgoretsky ©   (2004-05-28 20:07) [6]

Какой, какой FAR


 
SergeyM ©   (2004-05-28 20:17) [7]

>Какой, какой FAR
А я почем знаю так в книге написано


 
SergeyM ©   (2004-05-28 20:20) [8]

Написал так
function GetFileSizeEx(hFile: THandle; lpFileSize: PLargeInteger): BOOL;stdcall;external "C:\windows\sistem32\kernel32.dll";
но ошибка так и неисчезла


 
SammIk ©   (2004-05-28 20:23) [9]

А дорогои сер, у тебя какая винда?


 
SergeyM ©   (2004-05-28 20:24) [10]

WinXP


 
SergeyM ©   (2004-05-28 20:30) [11]

Кинул kernel32.dll в папку с приложением и шибка исчезла. Может я неправильно подключал библиотеку, как правильно прописать путь?


 
SammIk ©   (2004-05-28 20:30) [12]

А попробуи
CreateFile(pcharh:=(filename),0,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,nil);
GetFileSizeEx(h,lpFileSize);
closehandle(h);

И еще попробуи написать не "C:\windows\sistem32\kernel32.dll";
А "C:\windows\system32\kernel32.dll";.
А еще лучше, просто "kernel32.dll"


 
SammIk ©   (2004-05-28 20:32) [13]

Все теперь все ясно)
Спать надо дорогои сударь)


 
SergeyM ©   (2004-05-28 20:45) [14]

Все увидел ошибку, спасибо за помощь.



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

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

Наверх





Память: 0.47 MB
Время: 0.037 c
4-1086155493
ra4fcr
2004-06-02 09:51
2004.07.11
CharToOem() ?


14-1087932464
Sergey Masloff
2004-06-22 23:27
2004.07.11
Holy War! AMD vs INTEL $-)


14-1087923648
Piter
2004-06-22 21:00
2004.07.11
Ура! Я избавился от глюков...


6-1084427884
AnP
2004-05-13 09:58
2004.07.11
Как избавиться от асинхрониус сокет ерор


14-1087977890
infom
2004-06-23 12:04
2004.07.11
Где можно скачать видео голы с Евро2004 только не RealOne?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский