1. Pascal / Говнокод #27214

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    procedure ProgramRestart(Sender: TObject);
    begin
       Application.Terminate;
       ShellExecute(0,'open',Application.ExeName,'','',SW_NORMAL); // ))
    end;

    Неделю когда-то пытался понять почему этот код не работает: "Я же программу вырубил? - вырубил... Я же ее запускаю? - запускаю... А че она не запускается?)))..."

    Запостил: vovka3003, 13 Января 2021

    Комментарии (31) RSS

    • Какой багор )))
      Ответить
    • exit(0);
      puts("Ня, пока");
      Ответить
    • надо было резидент вешать на прерывание и ловить выход программы. по выходу запускать ее опять :)
      Ответить
      • Кстати да... Наверное так и сделаю. Я когда понял почему не работает мой говнокод сразу написал другой говнокод (поменял эти строки местами).
        Ответить
      • что за чушь? какой резидент? какое прерывание в защищенном режиме на винде?
        Ответить
        • ну разве не видно что это Pascal а знчит на дворе 1994 год эра развития Win 3.11 и ДОС программирования. так что все честно - нужно хватать прерывание :)
          Ответить
          • какой ShellExec там?
            Ответить
            • Ну я не знаю что в паскакале нативная имплементация может они WinExec вызывают :)
              Ответить
              • ShellExecute это виндовая функция уровня Shell API, примерно ее ты вызваеш, когда кликаеш на ерлык
                Ответить
    • сначала я убью себя, а потом её
      Ответить
      • :)) Да-да-да..! Именно!
        Ответить
      • Он ходит, дышит, думает не так -Убей!
        И ты уверен в том, что это враг -Убей!
        Не думай ни о чем, ты будешь прав -Убей!
        Во имя счастья, правды и добра
        Убей их всех!

        Вот так!

        Он виноват хотя бы в том,
        Что в стороне стоит сейчас.
        Он плохо помнит наш закон;
        Тот, кто не с нами, - против нас.

        Наплюй на белый флаг,
        Трави их как собак,
        Отныне будет так.

        Убей!
        Убей их всех!
        Всех!
        Убей их всех!
        Начни с себя.
        Ответить
        • Внеси свой вклад
          в дело ЗЛА!

          Сожри своё лицо!
          Насри в дверной глазок!
          Убей
          всех своих друзей!
          Ответить
        • Симпатично, Черный обелиск.
          Ответить
    • Вообще задача была именно "грохнуть" текущий экземпляр (не "подождать корректного закрытия")... Посему наверное оставлю как есть (сначала ее, потом себя))
      Ответить
      • сначало роди клона а клон убьет тебя потом ее а потом опять одится :)
        Ответить
    • https://youtrack.jetbrains.com/issue/RIDER-56318
      Ответить
      • Памагите кенгуру... Кенгуру в своем кармане обнаружула дыру)
        Ответить
        • Сударь, говнокод давно не тот. Мы разделились на два лагеря: уёбков и вахтёров.
          Каждого новопришедшего члены обоих лагерей пытаются склонить на свою сторону: первые ненавидят вахтёров, а вторые советуют "не отвечать уёбкам". На самом деле, разница между философией противников невелика и, строго говоря, уёбками являются и те и другие.

          Выбор за тобой.
          Ответить
          • Ммм.. Ды, как-то похуй)) Меня ж никто не заругает если где-нить "посерединке" постою..?
            Ответить
            • прекратите отвечать уёбку
              Ответить
            • Ну вот - к Вам уже прицепился один из уёбков. Собственно, можно сделать вывод по его никнаме.
              Ответить
    • 1. Для любителей повыёбываться. Перезапускайте себя с ключом "-restart", который отслеживайте в запускаемом экземпляре программы + создайте мьютекс, который будете проверять в запускаемом экземпляре, после чего завершитесь. Если программа обнаружит, что запускается с ключом "restart", она должна запуститься со скрытой формой и проверить наличие мьютекса (прога-родитель еще жива). Как только он исчезнет, форму показать.

      2. Создайте restart.exe и не выёбывайтесь.
      Ответить
      • Та прога в которой я этот код писал - не совсем IDE, где можно "Создайте restart.exe и не выёбывайтесь.".. Скорее - огрызок паскаля с ограниченными возможностями (Pascal Script от Карло Кока).
        Посему - "мыши плакали, кололись, но продолжали жрать кактус...)"
        Ответить

    Добавить комментарий