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

Вниз

В чем проблема?   Найти похожие ветки 

 
_незнайка_   (2003-11-05 12:12) [0]

Привет..

Читаю сектора диска в буффер и т.д... все работает как полагается, НО как только я меняю размер любого окна или перетаскиваю его (explorer и т.п.) вылетает ошибка:"Not enought storage is available to process this command" Ошибка появляется в этом блоке:

pos64 := sectornum * BLOCKSIZE;
n := Windows.SetFilePointer( hDevice, rPos64.Lo, @rPos64.Hi, FILE_BEGIN );
rc := GetLastError;
if rc<>NO_ERROR then
begin
AddToLog(SysErrorMessage(rc));
Exit;
end;

В ЧЕМ БРОБЛЕМА?!


 
_незнайка_   (2003-11-05 12:54) [1]

На всякий случай приведу всю функцию, хотя она достаточно стандартная:

function TMainForm.ReadSector( const hDevice : THandle; const sectornum : int64) : Boolean;
var
rc : DWORD ;
n : DWORD ;
pos64 : int64 ;
rPos64 : int64Rec absolute pos64 ;
begin

Result := False;

pos64 := sectornum * BLOCKSIZE;
n := SetFilePointer(hDevice , rPos64.Lo, @rPos64.Hi, FILE_BEGIN );
rc := GetLastError;
if rc<>NO_ERROR then
begin
AddToLog(SysErrorMessage(rc));
Exit;
end;
if n <> rPos64.Lo then rPos64.Lo := n;
if not Windows.ReadFile( hDevice, HDDBuffer[0], BLOCKSIZE, n, nil ) then
begin
AddToLog(SysErrorMessage(GetLastError));
Exit;
end;
Result := true;
end;



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

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

Наверх




Память: 0.46 MB
Время: 0.019 c
1-56673
512 ram
2003-11-05 08:09
2003.11.17
Можно ли с помощью средств Delphi запустить файл


1-56634
Maverico
2003-11-07 20:51
2003.11.17
Размер файла


1-56610
MaG
2003-11-05 17:05
2003.11.17
Регистрация


1-56579
vova
2003-11-07 21:34
2003.11.17
конвертация из даты месяца


1-56663
lucky4me
2003-11-05 08:59
2003.11.17
из C++Builder в Delphi