Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
ВнизMutex handle Найти похожие ветки
← →
Pashkerton (2004-09-09 14:14) [0]Добрый день, и непосредственно к делу.
Есть Form и на ней Edit и 2 кнопки. При создании формы создаётся Mutex "MyMytex" и в Edit выводится его Handle.
Button1Click
Mutex := CreateMutex(nil, False, "MyMutex");
if Mutex = 0 then
MessageBox(0,"Can not create", "error",MB_OK or MB_ICONSTOP)
else if GetLastError = ERROR_ALREADY_EXISTS then
MessageBox(0,"Already exist", "error",
MB_OK or MB_ICONSTOP);
edit.Text:=IntToStr(Mutex);
Button2Click
CloseHandle(Mutex)
Если я сначала нажму на Button2 а потом на Button1, то в Edit будет тот же handle что и был.
Если сразу нажму на Button1, то появляется сообщение "Already exist", но в Edit теперь совсем другой Handle. Вопрос почему другой handle?
← →
Ega23 © (2004-09-09 14:17) [1]А ты на хэндл не смотри, он какой угодно может быть. Это как системе вздумается, такой индекс она тебе и присвоит.
← →
Poirot © (2004-09-09 14:18) [2]Я наверное уже старею.. что значит какой и был.. а какой был?!?!?! Мусор?!!!
Поточнее пожалуйста:)) 4ак то воспроизводить вашуц проблему не хоца:))
← →
Digitman © (2004-09-09 14:22) [3]
> Если я сначала нажму на Button2 а потом на Button1, то в
> Edit будет тот же handle что и был
был ? а откуда он взялся-то ДО этого ?
создание мьютекса у тебя - по кнопке1, а ты после старта сначала кнопку2 давишь, и только потом кнопку1 ..
??
← →
Pashkerton (2004-09-09 14:28) [4](ОТСЮДА)При создании формы(onCreate) создаётся Mutex "MyMytex" и в Edit выводится его Handle. И при нажатии на кнопку я пытаюсь создать с таким же идентификатором, т.е. "MyMytex".
← →
Ega23 © (2004-09-09 14:32) [5]
hnd:=CreateMutex(nil, false, PChar(ss) );
if GetLastError = ERROR_ALREADY_EXISTS then
begin
Beep(100,200); //MessageBeep ->in WinProcs
bo:=ReleaseMutex(hnd);
Halt(1);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c