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

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

Mutex handle [D6, Win2k]


Pashkerton ©   (2004-09-09 14:14:00) 

Добрый день, и непосредственно к делу.
Есть 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:32:00) [1]


 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;


Pashkerton   (2004-09-09 14:28:00) [2]

(ОТСЮДА)При создании формы(onCreate) создаётся Mutex 'MyMytex' и в Edit выводится его Handle. И при нажатии на кнопку я пытаюсь создать с таким же идентификатором, т.е. 'MyMytex'.


Digitman   (2004-09-09 14:22:00) [3]


> Если я сначала нажму на Button2 а потом на Button1, то в
> Edit будет тот же handle что и был


был ? а откуда он взялся-то ДО этого ?
создание мьютекса у тебя - по кнопке1, а ты после старта сначала кнопку2 давишь, и только потом кнопку1 ..

??


Poirot   (2004-09-09 14:18:00) [4]

Я наверное уже старею.. что значит какой и был.. а какой был?!?!?! Мусор?!!!
Поточнее пожалуйста:)) 4ак то воспроизводить вашуц проблему не хоца:))


Ega23   (2004-09-09 14:17:00) [5]

А ты на хэндл не смотри, он какой угодно может быть. Это как системе вздумается, такой индекс она тебе и присвоит.


Наверх

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