ник: Lukas
Мы обсуждаем способы передачи значений переменным в форме
|
Да. Именно поэтому мы обсуждаем недостатки/достоинства вариантов.
Мне НЕ нравится:
1. Когда класс вызываемой формы "ДОЛЖЕН" куда-то что-то "навязывать" (возвращать).
а. Этого "Куда-то" уже может и не быть. (обязательна проверка)
б. Этому "куда-то" возвращаемые "что-то" уже могут быть не интересны. (фиг проверишь)
Альтернатива: Генерировать события, возвращающие значения. Какому объекту интересно, тот подписался и слушает их.
2. Когда в классе вызываемой формы "жестко" прописана вызывающая форма.
а. Я, например, должен вызывать Вызываемую форму из нескольких вызывающих форм.
Как в этом случае определить, "кому" сейчас возвращать значения? Перебирать которая из них
открыта? Так все могут быть открыты, да еще и по нескольку раз нестандартными экземплярами.
б. Вызывающая форма открыта нестандартным экземпляром, тогда ссылки через коллекцию Forms будут давать ошибки.
Альтернативы: 1. см .п.1
2. При открытии "цеплять" ссылку на активную форму/контрол. (Формы-календари, калькуляторы и т.п.)
И все же передача через Property кажется мне предпочтительнее
|
Ну, как известно, публичная переменная, объявленная на уровне модуля, является его свойством.
Другое дело, что в процедуре свойств можно описать дополнительные проверки и прочая, так что в этом плане, конечно, процедуры свойств предпочтительнее, хотя и "тормознутее" просто переменных.