1. Куча / Говнокод #25663

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    https://habr.com/ru/post/219685/
    |
    ->
    Плохо выразился. В старых не надо объявлять поле типа Pointer, в старых объявляется поле интерфейсного типа, а при присвоении ему значения делается приведение: Pointer(FInterfaceField) := Pointer(InterfaceVariable);
    Так делали, чтобы получить weak-ссылку и при этом не заниматься многочисленными приведением Pointer к интерфейсу.
    Не будет никакого AV, если вы руками присвоите nil в деструкторе, тоже через приведение к Pointer.

    Ох, лол...

    Запостил: cmepmop, 05 Июня 2019

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

    • Примечательно, что никто не минуснул. Наверно, никто не разобрался в коде.

      Вот ещё - просто ангельский лепет:

      Но здесь хоть можно подумать цикл зависимостей блокировок и доказать корректность кода, а что делать с конструкцией

      if (FIsDestroying) then exit;


      "Всё, начиная от этого условия до конца деструктора (до момента, когда будет обнулён указатель в IWeakly), нужно оборачивать с критическую секцию? И получение указателя из IWeakly — тоже в этой секции? Иначе возникнет ситуация, когда нотификация начала обрабатываться, и деструктор уже прошёл этот if"

      )))
      Ответить
    • показать все, что скрытодельфи 2019? серьезно? а про вижал бейсик нету статей? а про tcl?
      Ответить
      • Поэтому я за Си. Хоть язык Си и придумали хуй знает когда, он до сих пор актуален.
        Ответить
        • показать все, что скрытоТолько не в прикладном программировании.
          Ответить
          • define прикладное программирование
            Ответить
            • Формошлёпство.
              Ответить
              • Можно в GTK на сишечке формошлепить.
                Или под шиндошс дергать CreateWindowEx из сишечки и кнопки через какую-то там жопу тоже рисовать, всякая там GDI поебень еще есть
                Ответить
                • Ну я и на асме формошлепил для какой-то лабы... Но всё-таки для прикладнухи есть более удобные языки.
                  Ответить
                • показать все, что скрытоформошлепать под винду рекомендую на C#/WPF
                  Ответить
                  • Ага, чтоб потом эта хуйня нигде кроме винды не заработала. Вендорлокнуть
                    Ответить
                    • Ты веришь в хороший кроссплатформенный гуй?
                      Ответить
                    • показать все, что скрытоА типа твой код с CreateWindowEx заработает?
                      Ответить
                      • В вайне заработает. А хуйня с C#/WPF ни в каких вайнах не заработает, Mono этот ваш WPF не поддерживает, .NET Core его поддерживает только на винде
                        Ответить
                        • показать все, что скрытов вайне заработает, хотя и через жопо. Это не продакшен-реди решение.

                          Но вообще надо опеределить требования.
                          Формошлепить под винду (и только под винду!!) лучше в C#/WPF.
                          Формошлепить кросс-платформенно безопаснее на каком-нить QT или Swing.

                          Дельфи кстати как на линуксе работает?
                          Ответить
                          • > Формошлепить под винду (и только под винду!!) лучше в C#/WPF.

                            Формошлепить под конкретную ОС это вообще хуевая идея. Когда-нибудь твой софт захотят под Mac или в прыщах, и тогда всё твое формошлепство надо будет переписывать на какое-то другое говно.
                            Ответить
                            • А сишка есть везде (но это совсем не повод писать всё подряд на ней).
                              Ответить
                            • показать все, что скрытоНо во-первых так часто делают (например нативные прикладухи под ios, android и винду)

                              Во-вторых иногда ты точно знаешь что твой софт нужен только на винде (например ты шлепаешь редактор уровней для своей игры под DirectX или для своего антивируса)

                              И наконец формошлепить кроссплатформенно СЛОЖНЕЕ.
                              Серьезный сложный ГУИ кроссплатформенно без special case не сделать.

                              Так что ты должен решить стоит ли игра свеч.
                              Ответить
                              • Он просто не шарит, а пиздит с умным видом. Логику можно вынести в сишную или плюсовую либу, так иногда делают, но кроссплатформенный UI можно нормально сделать только для двух кнопок и одного текстфилда
                                Ответить
                        • https://stackoverflow.com/a/27940964 хотя через какую-то жопу можно и WPF под вайном запускать.
                          Что касается Winforms, то в Mono эта хуйня есть нативно
                          https://github.com/mono/mono/blob/master/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUI.cs#L512

                          Для кроссплатформенной гуйни на шарпах я б лучше взял https://github.com/AvaloniaUI/Avalonia
                          но вообще мне не нравятся эти ваши шарпы и жабки всякие
                          Ответить
                          • показать все, что скрытоМожно еще сделать вебморду и рендерить ее в ближайшем браузере.

                            Имхо формошлепствовать лучше на чем-то высокоуровневом. Это же не тяжелый бекенд писать
                            Ответить
                            • Ты так электрон придумаешь.
                              Ответить
                              • показать все, что скрытоВеб довольно хуевый способ построения UI.
                                Хуже только Swing.

                                Но увы: веб кросс платформенен
                                Ответить
                              • Долой жопаскрипт. Даешь окамль! https://github.com/revery-ui/revery


                                Revery is built with reasonml, which is a javascript-like syntax on top of OCaml This means that the language is accessible to JS developers.
                                Ответить
                        • показать все, что скрытоКстати, да. Прибитые гвоздями СгеатеШипьош и DLGTEMPLATE более портабельны, чем кроссплатформенность по майкософтовски.
                          Ответить
                          • показать все, что скрытоWPF никто не обещал кроссплотформенность
                            Ответить
                            • показать все, что скрытоВсё по Оруэллу

                              Мировой суд участка №91 Тольятти (Самарская область) признал активиста Сергея Ионова виновным по ст. 20.33 КоАП ("Осуществление деятельности на территории РФ иностранной или международной неправительственной организации, в отношении которой принято решение о признании нежелательной на территории РФ ее деятельности"), сообщил корреспондент Каспаров.Ru 6 июня.

                              На своей странице в Facebook Ионов сделал репост двух картинок: одна с рисунком обещания президента Владимира Путина по ипотеке 2016 года, другая — про обещания премьер-министра Дмитрия Медведева о полной газификации РФ.
                              Ответить
              • @Формошлёпство.

                Кстати, заметил, что уже давно не использую визуальные компоненты (кроме контролов, вроде TEdit и кнопочек). Создаю объекты динамически.
                Ответить
                • Ну если лейауты есть - так даже удобней. Главное - чтобы координаты не вбивать.
                  Ответить
      • Про {Tcl} есть:
        https://habr.com/ru/post/453164/

        и он вполне себе живёт да здравствует.
        Ответить
    • показать все, что скрытоЮникорн, как вы ЭТО едите?!
      const withIter = {
          [Symbol.iterator]() {
              return {
                  step: 0,
                  next() {
                      return {done: (this.step++ > 20), value: this.step}
                  }
              }
          }
      };
      
      for(let q of withIter) {
          console.warn(q);
      }
      Ответить
    • Визуалпоскальпроблемы.
      Ответить
    • показать все, что скрытоВ очередь на дезинфекцию.
      Ответить
    • показать все, что скрытоДолжен признаться, одному на ГК намного приятнее, чем находиться в обществе петухов, макак и горилл. Можете съебнуть хором в туман и не возвращаться.
      Поверьте мне, я не заплачу.
      Ответить

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