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

Вниз

Ошибка при удалении File Mapping   Найти похожие ветки 

 
N   (2002-11-10 16:57) [0]

Здравствуйте.
Открываю файл, создаю два FileMapping, тут же особождаю их, в результате, при попытке закрыть файл, возникает ошибка "Неверный дескриптор", и файл остается занятым до следующей перезагрузки. Если содать только один FileMapping, то все нормально. Ни размер, мэппинга, ни изменение имени объекта не влияют на ситуацию. :(
Спасибо заранее.


procedure TForm1.Button1Click(Sender: TObject);
var
MyFile, FileMap1, FileMap2: THandle;

function CreateMapping: THandle;
begin
Result := CreateFileMapping(
MyFile, // handle to file to map
nil, // optional security attributes
PAGE_READWRITE, // protection for mapping object
0, // high-order 32 bits of object size
1024, // low-order 32 bits of object size
nil); // name of file-mapping object
end;
begin
MyFile := CreateFile(
"Test.bin", // file name
GENERIC_READ or GENERIC_WRITE, // access mode
0, // share mode
nil, // SD
OPEN_ALWAYS, // how to create
FILE_ATTRIBUTE_NORMAL or FILE_FLAG_RANDOM_ACCESS, // file attributes
0); // handle to template file

FileMap1 := CreateMapping;
ShowMessage(SysErrorMessage(GetLastError));

FileMap2 := CreateMapping;
ShowMessage(SysErrorMessage(GetLastError));

CloseHandle(FileMap1);
ShowMessage(SysErrorMessage(GetLastError));

CloseHandle(FileMap2);
ShowMessage(SysErrorMessage(GetLastError));

CloseHandle(MyFile);
ShowMessage(SysErrorMessage(GetLastError));
end;


 
Cobalt ©   (2002-11-11 19:27) [1]

Дело в том, что у вас FileMap1 и FileMap2, скорее всего - одинаковые, ведь эти файлы - одно и тоже, и для одного АП у них должен быть один и тот же Handle. Если же вам надо обращаться к одному файлу через несколько "ручек", то смотрите ф-ию DuplicateHandle
P.S. кстати, после какого закрытия выдаются ошибки?



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-85966
Brat-2
2002-12-15 18:54
2002.12.26
Размер исполняемого EXE-файла


1-86016
Igorek
2002-12-16 13:22
2002.12.26
Текст битмапным шрифтом вертикально


14-86125
sancho
2002-12-05 17:38
2002.12.26
&&&&&&&&&&&&&


8-86039
Alex Che
2002-09-10 11:40
2002.12.26
Воспроизведение звука (цифрового сигнала)


14-86140
Sergo
2002-12-06 10:41
2002.12.26
Office