Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Внизкак правельно обратится к обьекту ТАКИМ образом. Найти похожие ветки
← →
Silver_ (2003-11-10 16:45) [0]
...Findcomponent( "Form1.ActionManager1.ActionBars[0].Items[2].Items[1]").Action
{ Например}:= ...
Может у кого есть готовый код
Сейчас делаю так: в цикле в Screen ищу форму, потом обьект, Item, ...
правда код корявый надо бы String обрабатывать и рекурсивно сделать поиск но
Может есть простое обращение иным образом а я мучаюсь тут
← →
Jack128 (2003-11-10 16:47) [1]TButton(Form1.FindComponent("MyButton")).Caption := "MyButton";
← →
Reindeer Moss Eater (2003-11-10 16:52) [2]TControl(...).Action
← →
Silver_ (2003-11-10 17:00) [3]
> Jack128 © (10.11.03 16:47) [1]
> Reindeer Moss Eater © (10.11.03 16:52) [2]
А что делать если путь такой замысловатый.
Хочу, например, из главной формы обратится к любому обьекту на любой форме указав (String-om) путь как в Delphi
На пример:
> "Form1.ActionManager1.ActionBars[0].Items[2].Items[1]"
← →
Sandman25 (2003-11-10 17:02) [4]>Хочу, например, из главной формы обратится к любому обьекту на любой форме указав (String-om) путь как в Delphi
А зачем?
← →
Reindeer Moss Eater (2003-11-10 17:06) [5]Findcomponent - это метод.
Для его вызова нужен экземпляр TComponent.
Сначала ищешь экземпляр формы.
Потом для него вызываешь FindComponent, находишь ActionManager1
и так далее.
← →
Silver_ (2003-11-10 17:17) [6]
> Reindeer Moss Eater © (10.11.03 17:06) [5]
Tak se*ichas i delayu.
> Sandman25 © (10.11.03 17:02) [4]
Например для перевода интерфейса на другой язык, и не только...
← →
Silver_ (2003-11-10 17:41) [7]
> Reindeer Moss Eater © (10.11.03 17:06) [5]
А нет функции какой-то в Delphi (или у кого-то :o)) которая бы сама делaлa всё это
и возвращала ссылку на обьект. Типа испольвовалась бы так
TMyObj(SuperPuperFunc("...")).MyProperty := ...
← →
Reindeer Moss Eater (2003-11-10 18:02) [8]А ты знаешь функции, которые не сами делают что-то и ничего не возвращают?
← →
Silver_ (2003-11-12 13:42) [9]
> Reindeer Moss Eater © (10.11.03 18:02) [8]
Не понял :( поясни что имееш ввиду
← →
Silver_ (2003-11-12 14:15) [10]В догонку...
> Silver_ © (10.11.03 17:41) [7]
>
> > Reindeer Moss Eater © (10.11.03 17:06) [5]
>
>
> А нет функции какой-то в Delphi (или у кого-то :o)) которая
> бы сама делaлa всё это
> и возвращала ссылку на обьект. Типа испольвовалась бы так
>
> TMyObj(SuperPuperFunc("...")).MyProperty := ...
← →
Anatoly Podgoretsky (2003-11-12 14:19) [11]Silver_ © (12.11.03 13:42) [9]
Имеется ввиду, что бы ты указал такую функцию.
← →
Silver_ (2003-11-13 14:34) [12]Опять не понял, может я такой непонятлевый :)
> Silver_ © (10.11.03 17:41) [7]
>
> > Reindeer Moss Eater © (10.11.03 17:06) [5]
>
>
> А нет функции какой-то в Delphi (или у кого-то :o)) которая
> бы сама делaлa всё это (в цикле в Screen ищу форму, потом обьект, Item, ...
= Reindeer Moss Eater © (10.11.03 17:06) [5] )
правда код корявый надо бы String обрабатывать и рекурсивно сделать поиск но
Может есть простое обращение иным образом а я мучаюсь тут
> и возвращала ссылку на обьект.
Думал еще кто-нить этим занимался и имеет уже готовую(отлаженую) фунcцию для разных(всех или хотябы большенства) контролов
PS. Звеняюсь за ошибки пишу транслитом
← →
Anatoly Podgoretsky (2003-11-13 14:40) [13]http://delphimaster.net/view/1-1068459521/
Смотри в конце
← →
Silver_ (2003-11-14 12:57) [14]Интересно и где именно я там могу найти ответ на мой вопрос.
Тама в основном идет речь о формах, их поиск/Создания/удаления в Design-Time
мой-же вопрос куда сложней поиск-то не только формы (это проще простого), а вобще обиекта
Ex: "Form1.ActionManager1.ActionBars[0].Items[2].Items[1]"
1. (Рекурсивно) Разбить на
a) "Form1"
b) "ActionManager1"
c) "ActionBars[0]"
d) "Items[2]"
e) "Items[1]"
причем каждый из [a, b, c, d, e] какого-то разного типа (класса), надо проверять (искать дальше)
по соответствуюущим типам
2.if Control is ...1 then
else
if Control is ...2 then
else
...
проработать все типы долго и требует отладки. Но это еще далеко не всё надо
вырвать индексы в случае [c, d, e] ...
Вобщем сделать можно но
- требует много кодинга и отладки,
- при использования сторонних компонент внесения коррективов в п.2
времени на это как всегда нет и поэтому обратился в форум. Думал может:
- есть стандартный подход
- хотя на мой взгляд самый больной мозоль это п.2
- кто-нибудь уже этим страдал и поделится. Но видно не судьба :(
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.009 c