Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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, ...
правда код корявый надо бы 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.009 c
9-78744
vital
2003-05-18 16:33
2003.11.24
Ошибка MilkShape3d


1-78944
Teapot
2003-11-13 23:23
2003.11.24
Клавиши управления курсором


14-79105
snake1977
2003-11-02 14:58
2003.11.24
Учиться, учиться и учиться.....


7-79192
p
2003-09-15 12:43
2003.11.24
Как програмно выключить копьютер


3-78764
pashaz
2003-11-02 20:33
2003.11.24
вывод в DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский