Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.24;
Скачать: CL | DM;

Вниз

как правельно обратится к обьекту ТАКИМ образом.   Найти похожие ветки 

 
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, ...
правда код корявый надо бы String обрабатывать и рекурсивно сделать поиск но
Может есть простое обращение иным образом а я мучаюсь тут
= Reindeer Moss Eater © (10.11.03 17:06) [5] )
> и возвращала ссылку на обьект.


Думал еще кто-нить этим занимался и имеет уже готовую(отлаженую) фун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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.016 c
1-78953
Вованчик
2003-11-12 07:56
2003.11.24
TreeView


7-79213
Shopot
2003-09-13 16:31
2003.11.24
Шрифты для матричного принтера


9-78745
greenrul
2003-05-18 00:04
2003.11.24
Как наложить 3 изображения одно на другое?


3-78785
GIL
2003-11-05 14:37
2003.11.24
QuickReport


11-78875
Kladov
2003-03-06 21:23
2003.11.24
В преддверии версии 1.70