ActionList или доступ к TAction объектам
От: Nicolay Россия  
Дата: 13.12.04 15:49
Оценка:
Привет все.
У меня возникла такая проблема. Необходимо получить доступ к TAction объектам в совокупности, т.е. где бы мне найти массив всех TAction, чтоб, к примеру, сохранять(загружать) установленные горячие клавиши(или надписи, индексы иконок и все-что угодно). Доступ ко всем объектам по именам их переменных недопустим, т.к. их количество, имена и прочее часто меняется(чаще-всего растет), причем меняю не я.

У ActionList есть массив Action, состоящий из TContanedAction. Из него можно лишь выполнять действия, а не менять их параметры.

Сделал пока по-тупому, т.е. хожу по своей менюшке и смотрю на свойство Action.
Но этот способ мне не особо нравится, т.к. для него нужно, чтоб все TAction были в менюшке, а их много и менюшка получается немного тяжеловесной, а так же работоспособность этой функции зависит от менюшки. Писать свой массим TAction* считаю нецелесообразным, т.к. подобное уже есть, просто я не знаю где.

Подскажите пожайлуста мне более красивое решение данной проблемы.
Заранее, спасибо.
Re: ActionList или доступ к TAction объектам
От: Dimonka Верблюд  
Дата: 13.12.04 15:57
Оценка:
А где эти все экшены хронятся?
Может оттуда их скопом и сохранять?
Если они нигде не хронятся, сделать так, чтобы они хронились в одном месте. Например создать главный экшн лист, куда и регистрировать все кастом экшены.
Re: ActionList или доступ к TAction объектам
От: Alex.Che  
Дата: 13.12.04 16:04
Оценка:
Привет, Nicolay!
Вы пишешь 13 декабря 2004:

[Sorry, skipped]
N> У ActionList есть массив Action, состоящий из TContanedAction.
N> Из него можно лишь выполнять действия, а не менять их параметры.

А полиморфизм для чего придуман?!

--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 1.9 delta
Re[2]: ActionList или доступ к TAction объектам
От: Nicolay Россия  
Дата: 13.12.04 21:57
Оценка:
Здравствуйте, Alex.Che, Вы писали:

AC>Привет, Nicolay!

AC>Вы пишешь 13 декабря 2004:

AC>[Sorry, skipped]

N>> У ActionList есть массив Action, состоящий из TContanedAction.
N>> Из него можно лишь выполнять действия, а не менять их параметры.

AC>А полиморфизм для чего придуман?!

Поясни, что ты имеешь ввиду.
Re[2]: ActionList или доступ к TAction объектам
От: Nicolay Россия  
Дата: 13.12.04 21:59
Оценка:
Здравствуйте, Dimonka, Вы писали:

D>А где эти все экшены хронятся?

D>Может оттуда их скопом и сохранять?
D>Если они нигде не хронятся, сделать так, чтобы они хронились в одном месте. Например создать главный экшн лист, куда и регистрировать все кастом экшены.
Лежат они все в одном ActionList(если их много то разница не велика).
Мне из него нужна просто ссылка на TAction.
Re: ActionList или доступ к TAction объектам
От: ak_miass Россия  
Дата: 14.12.04 06:30
Оценка:
Здравствуйте, Nicolay, Вы писали:

N>У ActionList есть массив Action, состоящий из TContanedAction. Из него можно лишь выполнять действия, а не менять их параметры.


А что нибудь вроде этого подойдёт?
TContainedAction *ContAct = ActionList->Actions[i];
TAction *Act = dynamic_cast <TAction*> ContAct;
if(Act)
{
    //TODO:
}
Re[2]: ActionList или доступ к TAction объектам
От: Nicolay Россия  
Дата: 14.12.04 08:12
Оценка:
Здравствуйте, ak_miass, Вы писали:

_>Здравствуйте, Nicolay, Вы писали:


N>>У ActionList есть массив Action, состоящий из TContanedAction. Из него можно лишь выполнять действия, а не менять их параметры.


_>А что нибудь вроде этого подойдёт?

_>
_>TContainedAction *ContAct = ActionList->Actions[i];
_>TAction *Act = dynamic_cast <TAction*> ContAct;
_>if(Act)
_>{
_>    //TODO:
_>}
_>

Именно так все и должно быть. Все работает.
Спасибо, большое. Я об этом даже и не подумал.
Пока.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.