Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.11;
Скачать: CL | DM;

Вниз

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 вся ветка

Текущий архив: 2004.07.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
4-1085406294
menart
2004-05-24 17:44
2004.07.11
Проверка подлиности пароля и имя пользователя в домене!


14-1087761613
Катя
2004-06-21 00:00
2004.07.11
Где гостевая? Была вроде


6-1084383557
Dimaxx
2004-05-12 21:39
2004.07.11
Исходники для работы с Р2Р


14-1087564327
YurikGL
2004-06-18 17:12
2004.07.11
Я тоже диплом защитил!!!!


1-1088071668
Aleksandr.
2004-06-24 14:07
2004.07.11
Как определить, является файл бинарным или текстовым?