С тех пор, как я начал читать и программировать на разных языках для .NET, мне сказали, что "Глобальное" что-либо в вашей программе очень и очень плохо. Вся эта идея, кажется, не имеет никакого смысла для меня. Будучи программистом / разработчиком программного обеспечения в течение последних 10–13 лет, я признаю тот факт, что иногда вы как программист не можете просто программировать, не используя глобальные объекты или переменные.
Это правда, что Глобальная переменная (и) или Объект (ы) могут привести к ошибкам в вашей программе, но это не значит, что это связано с языком программирования или самим компилятором, а с самим программистом. .
Что касается глобальных оконных форм, как вы ожидаете, что вы сможете программно изменять свойства формы окна "SAME" из других частей вашей программы в рамках события, когда вы не можете передать экземпляр формы в качестве параметра. Если оконная форма не является глобальной, нужно создавать новую форму локально каждый раз, когда их программе требуется отобразить или изменить ее свойства, но тогда новая форма не будет такой же, как первая открытая форма. Если форма объявлена внутри класса в закрытом, защищенном или публичном разделе, то необходимо создать экземпляр класса, а затем создать саму форму и передать ее везде, где это необходимо. Я уверен, что при этом у вас возникнут другие проблемы с программированием.
Я даже не знаю, почему они могли бы изменить истинное определение метода CLOSE. Закрыть означает закрыть, не утилизировать.
Я не пытаюсь опровергнуть идею о том, что Глобал плохой. Я просто пытаюсь понять, почему и каким образом.
Может кто-нибудь объяснить и привести пример того, как можно было бы программировать полностью без единой "GLOBAL" формы окна или даже переменной (ей)? Допустим, программа имеет две оконные формы. Одна является основной формой, а другая имеет Ttimer и метку. Основная форма имеет кнопку Tbutton и click, которая открывает вторую форму. Таймер второй формы имеет событие Tick, которое устанавливает текущую дату и время в свойствах текста метки каждую секунду. Когда вы нажимаете кнопку TButton, она должна открыть вторую форму и отображать текущую дату и время каждую секунду. Теперь покажите мне код для вышеупомянутой программы, которую я описал в C # или Delphi XE или prism или C ++ или VB БЕЗ ГЛОБАЛЬНОЙ ПЕРЕМЕННОЙ (S).
Спасибо