|
|
|
Проверка существования
|
|||
|---|---|---|---|
|
#18+
допустим по Action.Execute из ActionList вызывается некий метод, в котором пишем XObject.Run(); если бы этот метод вызывался из произвольного места, то нет никакой гарантии, что XObject существует но при смене ссылки на XObject происходит проверка на его существование Action.Enabled:=not (XObject=nil) то есть если нет, то и дейстиви нет вопрос при вызове все равно надо проверять if not(XObject=nil) then XObject.Run(); или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2007, 16:19 |
|
||
|
Проверка существования
|
|||
|---|---|---|---|
|
#18+
Nafдопустим по Action.Execute из ActionList вызывается некий метод, в котором пишем XObject.Run(); если бы этот метод вызывался из произвольного места, то нет никакой гарантии, что XObject существует но при смене ссылки на XObject происходит проверка на его существование Action.Enabled:=not (XObject=nil) то есть если нет, то и дейстиви нет вопрос при вызове все равно надо проверять if not(XObject=nil) then XObject.Run(); или нет? Вообще написан бред, потому что "допустим по Action.Execute из ActionList вызывается некий метод" может означать все что угодно! Но если ты хотел узнать сработает ли OnExecute при вызове Execute для Action, у которого Enabled = False, то ответ: нет, не будет вызван, если Action - наследник от TCustomAction. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 20:54 |
|
||
|
Проверка существования
|
|||
|---|---|---|---|
|
#18+
LordMAD Nafдопустим по Action.Execute из ActionList вызывается некий метод, в котором пишем XObject.Run(); если бы этот метод вызывался из произвольного места, то нет никакой гарантии, что XObject существует но при смене ссылки на XObject происходит проверка на его существование Action.Enabled:=not (XObject=nil) то есть если нет, то и дейстиви нет вопрос при вызове все равно надо проверять if not(XObject=nil) then XObject.Run(); или нет? Вообще написан бред, потому что "допустим по Action.Execute из ActionList вызывается некий метод" может означать все что угодно! Но если ты хотел узнать сработает ли OnExecute при вызове Execute для Action, у которого Enabled = False, то ответ: нет, не будет вызван, если Action - наследник от TCustomAction. я знаю, что он не сработает. вопрос вообще не об этом. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 08:37 |
|
||
|
Проверка существования
|
|||
|---|---|---|---|
|
#18+
Nafвопрос вообще не об этом. :-)Тогда учись задавать вопросы. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 10:04 |
|
||
|
Проверка существования
|
|||
|---|---|---|---|
|
#18+
Учел замечание. Переформулирую вопрос. Используется концепция Модель-контроллер-представление. При отсутствии в модели некоего объекта контроллер закрывает возможность действия с ним в представлении (ставит Enabled:=false). Таким образом обеспечиваем возможность работы с этим объектом модели визуально, только при его наличии. Нужно ли при этом в контроллере все же проверять наличие объекта? ну как правило хорошего тона что-ли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 10:25 |
|
||
|
Проверка существования
|
|||
|---|---|---|---|
|
#18+
моё имхо. Это зависит. Есть-ли вероятность, что с этим объектом будут работать программно? если есть - проверка обязательна, если - возможно будет, то тоже стоит её сделать, если - точно нет: на фиг тогда она нужна? тот код, который приведён в вопросе, предусматривает программную работу с объектом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2007, 01:43 |
|
||
|
Проверка существования
|
|||
|---|---|---|---|
|
#18+
NafИспользуется концепция Модель-контроллер-представление. При отсутствии в модели некоего объекта контроллер закрывает возможность действия с ним в представлении (ставит Enabled:=false). Таким образом обеспечиваем возможность работы с этим объектом модели визуально, только при его наличии. Нужно ли при этом в контроллере все же проверять наличие объекта? ну как правило хорошего тона что-лиПри такой формулировке вопроса - да должен. Другой вопрос как именно - if или assert - это зависит от логики работы программы. Возвращаясь к тому, что уже было написано ранее - action не может в данном случае выступать представлением. В первоначальной формулироке вопроса присутсвует следующая схема: модель-контроллер-(модель-контроллер-представление), что во многих случаях можно понимать как ошибку проектирования, приводящую к неоправданным тормозам и неоправданной сложности сопровождения кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2007, 12:25 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34993085&tid=1345660]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
174ms |
get topic data: |
8ms |
get forum data: |
1ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 460ms |

| 0 / 0 |
