Вверх ↑
Этот топик читают: Гость
Ответов: 205
Рейтинг: 3
#1: 2008-03-27 00:01:53 ЛС | профиль | цитата
Люди помогите ни как не могу понять как запретить повторный запуск одного и того же приложения.

------------ Дoбавленo:


Add(MainForm,4923526,112,105)
{
Left=20
Top=105
}
Add(EnumProcess,8218627,210,182)
{
Point(doFindName)
link(onProcess,4627580:doMessage,[(261,188)(261,209)])
link(ID,3627807:Text,[])
}
Add(Button,12099863,119,182)
{
Left=115
Top=210
link(onClick,8218627:doFindName,[(181,188)(181,209)])
}
Add(Edit,3627807,210,105)
{
Left=55
Top=20
}
Add(Message,4627580,280,203)
{
}


карма: 1

0
vip
#1.1контекстная реклама от партнеров
Ответов: 9906
Рейтинг: 351
#2: 2008-03-27 00:13:07 ЛС | профиль | цитата

#sha
Add(MainForm,9989782,126,105)
{
Left=10
Top=10
Position=1
link(onCreate,357211:doCreateMutex,[])
}
Add(Mutex,357211,196,140)
{
Name="MySuperPuperMutexName"
link(onAlreadyExists,9989782:doClose,[(246,153)(246,91)(114,91)(114,132)])
}
карма: 9

0
Ответов: 205
Рейтинг: 3
#3: 2008-03-27 00:24:41 ЛС | профиль | цитата
СПС большое ... как оперативно..
ни чего я тоже до этого дорасту и буду монстром программирования ...
------------ Дoбавленo:


------------ Дoбавленo:


карма: 1

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#4: 2008-03-27 02:13:30 ЛС | профиль | цитата
Galkov, а убирать Mutex, разве не надо



Add(MainForm,9989782,378,259)
{
Left=10
Top=10
Position=1
Point(onClose)
link(onCreate,357211:doCreateMutex,[])
link(onClose,357211:doReleaseMutex,[(429,286)(429,293)])
}
Add(Mutex,357211,448,273)
{
Name="MySuperPuperMutexName"
link(onAlreadyExists,9989782:doClose,[(498,286)(498,245)(366,245)(366,286)])
}


Я у себя не убрал, так Винда мне не разрешил вообще это приложение запустить до следующей перезагрузки, где-то она имя этого Mutexa у себя во временной базе прописывает.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#5: 2008-03-27 02:24:58 ЛС | профиль | цитата
В принципе - надо.
Но если у тебя винда не уничтожает ресурсы процесса после ее закрытия - выкинь таки ее на помойку

Вообще-то, меня давно уже настораживают сообщения о поведении именно твоей винды.
Рихтера-то почитай - уж это там по косточкам разложено.

А там глядишь, и Mutex поправишь, чтобы он выполнял то, про что у него в хинте написано
карма: 9

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#6: 2008-03-27 02:56:17 ЛС | профиль | цитата
Galkov писал(а):
выкинь таки ее на помойку

Ну это, я всегда успею. Я порыл настройки, так оно и должно было быть -- время уничтожения процесса около 5-ти секунд (реально около 10), а я пытался его открыть сразу повторно, ну и со злости перегрузил, а надо было немного подождать
Galkov писал(а):
Рихтера-то почитай - уж это там по косточкам разложено

Обязательно почитаю, и обязательно подробно.
карма: 22

0
Ответов: 205
Рейтинг: 3
#7: 2008-03-27 08:18:36 ЛС | профиль | цитата
ребятки что то я запутался....
так, по логике ... как говорится на всякий случай можно (даже нужно..?)закрывать Mutex
------------ Дoбавленo:

или по закрытию программы он сам высвобождаеться (потому что если открыть потом закрыть и сново открыть буквально в момент) то всё нормально..

карма: 1

0
Ответов: 9906
Рейтинг: 351
#8: 2008-03-27 13:06:30 ЛС | профиль | цитата
Не бери дурного в голову: и должно быть все нормально.
Закрывать - правильнее, хотя и не очень обязательно

Примерно так, как правильнее все-таки - мыть грязную посуду после ужина (не дожидаясь, когда чистая кончится)

карма: 9

0
Ответов: 28
Рейтинг: 0
#9: 2017-12-31 12:26:47 ЛС | профиль | цитата
Возможно кто-нибудь знает как сделать, что бы при повторном запуске программы, закрывались все окна этой программы, то есть что бы не одно окно закрылось, а другое продолжило работу, а оба. Подскажите, пожалуйста.
карма: 0

0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)