Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
4-1091673171
Cash
2004-08-05 06:32
2004.09.26
Чтоб модем в колонки пищал.


1-1094992980
Vulko
2004-09-12 16:43
2004.09.26
Как определить время выполнения подпрограммы?


1-1094656072
hgd
2004-09-08 19:07
2004.09.26
Как получить время текущее с милисекундами?


14-1094211361
Frolov Alexey
2004-09-03 15:36
2004.09.26
Посоветуйте хорошие ресурсы по ASP.NET


3-1093619862
Донской
2004-08-27 19:17
2004.09.26
Locate то работает, то выдает ошибку.




   Наверх