Вверх ↑
Этот топик читают: Гость
Ответов: 9906
Рейтинг: 351
#31: 2008-01-16 14:36:26 ЛС | профиль | цитата
Ну хорошо, предположим нашел
Исходя и сабжа, прогу надо закрыть, и ВСЕ
Ситуация, когда две (или больше) копии запускается одновременно, обе одновременно "находят" и обе одновременно закрываются, является приемлемой
карма: 9

0
Гость
Ответов: 17029
Рейтинг: 0
#32: 2008-01-16 15:12:00 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-10 13:22:00
карма: 0

0
Ответов: 9906
Рейтинг: 351
#33: 2008-01-16 15:35:31 ЛС | профиль | цитата
Во-первых, может.
Винда пытается обеспечить параллельное исполнение разных процессов.
И я не вижу причин, почему от момента создания первого процесса, до момента начала перечисления их всех в системе этим же процессом - второй процесс не может создасться.
Еще как может. Винда для этого даже винтом шевелить не будет, имхо

А сказки о параметрах, зависят от того, зачем тебе нужна "одна копия"
Обычно (это наблюдение такое) она бывает нужна зачем-то
Могут быть разные варианты: с приемом аргументов из командной строки, и без
Твой-то вариант - я откуда знаю

карма: 9

0
Ответов: 315
Рейтинг: 1
#34: 2008-01-16 15:52:03 ЛС | профиль | цитата
Гость, нестандартное решение твоей проблемы. Называется АнтиДубль .


#sha
Add(MainForm,7429653,77,119)
{
Left=20
Top=105
Width=322
Height=249
Position=1
Point(Close)
link(onCreate,7955753:doFileExists,[(128,160)(128,223)])
link(Close,380193:GetData,[])
}
Add(FileTools,7955753,147,196)
{
link(onEnd,8346766:doCase,[])
link(FileName,3715735:Var2,[(153,126)(160,126)])
}
Add(Memory,11831425,154,7)
{
Default=String(TEMP)
}
Add(Case,8346766,196,196)
{
Value=String(1)
link(onNextCase,8159603:doSave,[(240,202)(240,184)(198,184)(198,167)])
link(onTrue,7429653:doClose,[(247,209)(247,163)(65,163)(65,146)])
}
Add(StrList,8159603,210,126)
{
FileName="TEMP"
}
Add(EventFromData,380193,77,77)
{
link(onEvent,6996160:doDelete,[(131,83)(131,104)])
}
Add(FileTools,6996160,154,84)
{
link(onEnd,16072306:doData,[(194,90)(194,69)])
link(FileName,3715735:Var1,[(160,68)(143,68)(143,51)])
}
Add(GetDataEx,3715735,147,42)
{
link(Data,11831425:Value,[])
}
Add(DoData,16072306,203,63)
{
Data=String(0)
link(onEventData,380193:doData,[(247,69)(247,76)(65,76)(65,83)])
}
__________________
АнтиДубль все понимает, понимает как его закрывают: С лаской или со злостью, лижбы сдох процесс. Если со злостью, ууу... потом на него не обижайся
карма: 0

0
Ответов: 9906
Рейтинг: 351
#35: 2008-01-16 16:26:32 ЛС | профиль | цитата
GS_Lab писал(а):
решение твоей проблемы

А в чем проблема, не подскажешь, кстати

В самом начале написано, что OneCopy - шибко сложно
И чего-то я не вижу пока решений, проще чем

#sha
Add(MainForm,22692,203,112)
{
Left=312
Top=234
Font=[Arial,8,0,0,1]
SavePosName="MyProject"
Point(onClose)
link(onCreate,66920:doCreate,[])
link(onClose,66920:doDestroy,[])
}
Add(IndexToChanel,22883,301,154)
{
link(onEvent1,22692:doClose,[(346,160)(346,199)(191,199)(191,139)])
}
Add(MailSlot_Server,66920,252,147)
{
Name="myapp"
link(onStatus,22883:doEvent,[])
}
Причем это решение не имеет проблем типа: а если другой процесс создал файл ПОСЛЕ doExist, но ДО doSave
Просто, не имеет - и все
Причину сих великих трудов, назовет кто-нибудь

карма: 9

0
Ответов: 315
Рейтинг: 1
#36: 2008-01-16 16:32:58 ЛС | профиль | цитата
Galkov, видимо Гость не понял суть работы MailSlot`а и его уникальность.
После твоего примера думаю поймет
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#37: 2008-01-16 16:48:28 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-10 13:22:00
карма: 0

0
Ответов: 9906
Рейтинг: 351
#38: 2008-01-16 16:53:23 ЛС | профиль | цитата
Во-первых, блин - да
Во-вторых, не пора ли внятно изложить свою задачу
Возникшие ощущения, после просмотра примеров, это конечно - интересно. Но может и делом следует заняться
карма: 9

0
Гость
Ответов: 17029
Рейтинг: 0
#39: 2008-01-16 17:07:19 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-10 13:22:00
карма: 0

0
Ответов: 3851
Рейтинг: 159
#40: 2008-01-16 19:45:45 ЛС | профиль | цитата
Блин, "делай добро, ... и бросай его в воду".
карма: 0
начавший
0
40
Сообщение
...
Прикрепленные файлы
(файлы не залиты)