Главная страница
    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.038 c
1-1087998015
Destroyer
2004-06-23 17:40
2004.07.11
Динамическое создание кнопок


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


14-1087814514
Liona
2004-06-21 14:41
2004.07.11
gorju na ekzamene!!!


1-1088165114
Opryshok
2004-06-25 16:05
2004.07.11
Подскажите идею по создании терминального окна


3-1087450648
Ренат
2004-06-17 09:37
2004.07.11
Tool для работы с базой MSSQL





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