Вниз
Скачать: 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.03 c
14-1094553293
Alibaba
2004-09-07 14:34
2004.09.26
Восстановление


4-1092652546
MetalFan
2004-08-16 14:35
2004.09.26
серийный номер CD/FD


3-1093254733
Kraj
2004-08-23 13:52
2004.09.26
jpg в базу данных


4-1092116602
Delphi5.01
2004-08-10 09:43
2004.09.26
Как получить изображение рабочего стола ...


3-1093848537
Igor Sovinkov
2004-08-30 10:48
2004.09.26
IBdataSet - проблемы с использованием




   Наверх