Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка: C0000008 в строке CloseHandle(FHand); [D7, Win95/98, WinXP]


Leaner ©   (2004-09-26 04:43:00) 

При отладке выдает ошибку: C0000008 в строке CloseHandle(FHand);
При запуске не под Delphi ошибки нет
function Get_FileSizeFD(const FName:string):Int64;
var
FindData:TWin32FindData;
FHand:THandle;
begin
FHand:=FindFirstFile(PChar(FName),FindData);
if FHand<>INVALID_HANDLE_VALUE then
 try
  Result:=FindData.nFileSizeHigh;
  Result:=Result shl 32;
  Result:=Result+FindData.nFileSizeLow;
 finally
  CloseHandle(FHand);<-- здесь ошибка
 end else Result:=-1;
end;
Что это означает и как с этим бороться ?


Defunct   (2004-09-26 04:56:00) [1]

Странно....

Можно было опреденить длинну файла так:
Var F:File;
..
Result := FileSize(F)


Можно было так:
If FindFirst(FileName, faAnyFile, SearchRec)=0 Then
Result := SearchRec.Size
FindClose(SearchRec)


Можно так:
Result := FileSeek(FHandle, 0, 2);

Но из всего множества вариантов вы выбрали самый кривой и пытаетесь освободить не Handle поиска, а код ошибки.


Наверх

Титульная страница Поиск, карта сайта Написать письмо