|
|
|
Событие или функция? Вот в чём вопрос!
|
|||
|---|---|---|---|
|
#18+
Ну если вернуться к началу обсуждения то я думаю, что в первую очередь нужно пользоваться здравым смыслом: вряд ли вместо методов set/get стоит создавать аналогичные события точно также как вместо pre-open/post-open событий стоит создавать аналогичные функции. Также и с динамическими вызовами. Как правильно заметил spas2001 при динамическом создании объектов без динамических вызовов бывает сложно обойтись (разве что запретить создание объектов динамически, для улучшения читабельности кода). А вообще говоря и то и другое больше религия которой придерживается тот или иной программист. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2007, 22:13 |
|
||
|
Событие или функция? Вот в чём вопрос!
|
|||
|---|---|---|---|
|
#18+
Ursego Филипп Ursego Dmitry.Можно триггеровать несуществующее событиеКакой ужас! А зачем? Аппликация ведь вылетит! Ужжос в том что вы не в курсе, что НЕ вылетит :-)Не вылетит только если пользоваться давно устаревшим прадедушкиным методом TriggerEvent, принимающим имя события как стринг, но мы-то в 2007 году живём и пользуемся такими штуками, как TRIGGER/POST DYNAMIC/STATIC FUNCTION/EVENT, а с TRIGGER DYNAMIC EVENT - вылетит как пробка из шампанского! Но уж если надо зачем-то запустить метод динамически (что как правило свидетельствует об отсутствии у девелопера желания сделать кастинг к конкретному классу, что сделало бы скрипт более понятным, и о присутствии лени или незнания принципов создания качественного кода), то можно и функцию триггернуть динамицки. Аппликация вылетит, и поделом - нефиг вызывать то, чего нет, оставьте этих штучек Додику Копперфильду. При правильном кодировании такой надобности не возникнет! Но даже если я неправ в этом плане на все сто, это говорит о том, что товарищь, заговоривший об этом, невнимателен: я писАл о выборе между функией и событием там, где они ОБА приемлемы. А если приемлемо только событие, о чём говорить-то? Для тех, кому лень хелп почитать: Errors when calling functions and events dynamically Events Consider these statements: 1 This statement calls an event without looking for a return value: object.EVENT DYNAMIC eventname( ) 2 This example looks for an integer return value: int li_int li_int = object.EVENT DYNAMIC eventname( ) 3 This example looks for an Any return value: any la_any la_any = object.EVENT DYNAMIC eventname( ) The following table uses these statements as examples. Condition 1 Condition 2 Result Example The event does not exist. The code is not looking for a return value. Nothing; the call fails silently. Statement 1 fails but does not cause an error. The code is looking for a return value. A null of the Any datatype is returned. La_any is set to null in statement 3. If the expected datatype is not Any, execution error 19 occurs: Cannot convert Any in Any variable to datatype. The assignment to li_int causes execution error 19 in statement 2. The event is found but is not implemented (there is no script). The event has a defined return value. A null of the defined datatype is returned. If eventname is defined to return integer, li_int is set to null in statement 2. The event does not have a defined return value. A null of the Any datatype is returned. La_any is set to null in statement 3. If the expected datatype is not Any, execution error 19 occurs: Cannot convert Any in Any variable to datatype. The assignment to li_int causes execution error 19 in statement 2. The event is found and executed but is not defined with a return value. The code is looking for a return value. Execution error 63: Function/event with no return value used in expression. Statements 2 and 3 cause error 63. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 00:55 |
|
||
|
Событие или функция? Вот в чём вопрос!
|
|||
|---|---|---|---|
|
#18+
То Филипп +1 Как говорится, что и требовалось доказать -------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 10:22 |
|
||
|
Событие или функция? Вот в чём вопрос!
|
|||
|---|---|---|---|
|
#18+
Естьвсе-таки разница между кодерами и программистами-разработчиками :-) -------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 10:24 |
|
||
|
Событие или функция? Вот в чём вопрос!
|
|||
|---|---|---|---|
|
#18+
UrsegoTRIGGER DYNAMIC EVENT - вылетит как пробка из шампанского! FYI Этот код при отсутствии события ue_test вылетит: Код: plaintext 1. 2. НО Этот код при отсутствии события ue_test успешно выполнится: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 17:10 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=34599222&tid=1337124]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 142ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...