Конференция "KOL" » Предотвращение запуска второй копии программы [Delphi, Windows]
 
  • Dimaxx © (14.11.15 13:47) [20]
    > Мутекс - объект ядра и его область действия распространяется на сеанс или
    > на все сеансы, атом - объект user и его область действия ограничивается
    > конкректной Windowstation.
    В той статье было краткое объяснение почему, но за давностью лет я забыл конкретику, запомнилось то, что лучше атом. Да и не понадобилось мне это никогда. К тому же, емнип, используя мьютекс таким образом можно запустить только 1 копию программы вообще, независимо от кол-ва активных пользователей, а с атомом каждый пользователь сможет запустить только 1 копию программы под своей учеткой. Если пользователь один, тогда неважно что использовать, а если создастся ситуация, когда запустив копию под своей учеткой, понадобится сменить пользователя и запустить же под его учеткой ту же программу, может выйти облом. Поправьте меня, если неправ.
  • QAZ (14.11.15 20:36) [21]

    > может выйти облом. Поправьте меня, если неправ.

    ты неправ, у каждого пользователя свои изолированные мутексы будут
  • RusSun © (14.11.15 21:51) [22]
    > з.ы. надеюсь ты догадался заменить 'Название проги' на реальное
    > имя окна, которое в процессе работы естественно не должно
    > меняться....


    https://yadi.sk/d/Y--1jJzgkTV2p
    первый inc
    https://yadi.sk/d/kxnWBMG0kTUy9
    второй нет
  • QAZ (15.11.15 12:05) [23]

    > RusSun ©   (14.11.15 21:51) [22]

    чтоб эта ганитьба корректно работала, нужно кинуть апплет на форму
    иначе сама форма как аплет создается до всех "инков" и по сути код находит свою собственную форму, а не первой копии

    а твой вариант, как я уже писал, при первом же открытии в моей дельфи сразу МСКой задвигается за дефин и игнорируется при компиляции как ВКЛкод

    вообще в этом плане можно было нормально переделать генератор кода МСК, в более логичный и юзабительный вид, чтоб работал код до создания всего сущего
  • RusSun © (15.11.15 15:58) [24]
    >QAZ

    > чтоб эта ганитьба корректно работала, нужно кинуть апплет
    > на форму
    > иначе сама форма как аплет создается до всех "инков" и по
    > сути код находит свою собственную форму

    Вообщем сделал так.
    в варианте первый inc

    1 кинул апплет на форму
    2 удалил object KOLProj: TKOLProject с формы в Design

    стал работать как надо.
 
Конференция "KOL" » Предотвращение запуска второй копии программы [Delphi, Windows]
Есть новые Нет новых   [134427   +34][b:0][p:0]