powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Событие или функция? Вот в чём вопрос!
5 сообщений из 30, страница 2 из 2
Событие или функция? Вот в чём вопрос!
    #34599145
edmikeca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если вернуться к началу обсуждения то я думаю, что в первую очередь нужно пользоваться здравым смыслом: вряд ли вместо методов set/get стоит создавать аналогичные события точно также как вместо pre-open/post-open событий стоит создавать аналогичные функции. Также и с динамическими вызовами. Как правильно заметил spas2001 при динамическом создании объектов без динамических вызовов бывает сложно обойтись (разве что запретить создание объектов динамически, для улучшения читабельности кода). А вообще говоря и то и другое больше религия которой придерживается тот или иной программист.
...
Рейтинг: 0 / 0
Событие или функция? Вот в чём вопрос!
    #34599222
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
Событие или функция? Вот в чём вопрос!
    #34599297
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То Филипп
+1
Как говорится, что и требовалось доказать
--------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Событие или функция? Вот в чём вопрос!
    #34599299
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Естьвсе-таки разница между кодерами и программистами-разработчиками :-)
--------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Событие или функция? Вот в чём вопрос!
    #34599720
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UrsegoTRIGGER DYNAMIC EVENT - вылетит как пробка из шампанского!
FYI
Этот код при отсутствии события ue_test вылетит:
Код: plaintext
1.
2.
int a,b
b=parent.dynamic event ue_test(a)

НО Этот код при отсутствии события ue_test успешно выполнится:
Код: plaintext
1.
2.
int a
parent.dynamic event ue_test(a)
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Событие или функция? Вот в чём вопрос!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]