![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получить объект по имени [D7, WinXP]
Наташа © (2008-04-03 16:15:00)Добрый день!
Вопрос: Как можно получить ссылку на объект по имени?
Ну т.е. у меня есть переменная ObjName : string, в которой имя объекта, как мне обратиться к этому объекту?
Заранее спасибо всем неравнодушным.
Palladin (2008-04-07 10:13:00) [1]
> Меня удивляет, что Дельфи не предоставляет такой возможности.
> ..
какой именно? зачем тебе реализовывать массив? Делфи вообще никаких возможностей кроме языка не предоставляет. а вот на нем уже строятся все вкусности.
используй TStringList. в купе с сортировкой получится очень даже неплохая производительность, вот только имена должны быть естественно уникальными. но это достигается очень просто...
Наташа (2008-04-07 10:11:00) [2]
> Сергей М. © (04.04.08 16:19) [22]
>
> > Кроме как хранить самому информацию о всех таких объектах
>
>
> Да собссно никак.
> А чем TComponent не устраивает ?
Устраивает) Из интереса спрашиваю.
> clickmaker © (04.04.08 16:33) [23]
>
> > Кроме как хранить самому информацию о всех таких объектах
>
> а как ты будешь ими управлять, если не будешь хранить ссылки
> на них?
> объекты, которые VCL создает внутри себя - для служебного
> пользования, программиста они вообще не должны волновать
Все имена в программе известны и я могу провести сравнение с каждым именем. Под хранением информации о них, я имела ввиду хранить, например, в одном массиве все ссылки на объекты, для данной задачи это вроде разумно. Соответственно этот массив надо реализовывать самой.
Меня удивляет, что Дельфи не предоставляет такой возможности... Ведь при компиляции все равно строится какая-то внутренняя таблица имен...
clickmaker (2008-04-04 16:33:00) [3]
> Кроме как хранить самому информацию о всех таких объектах
а как ты будешь ими управлять, если не будешь хранить ссылки на них?
объекты, которые VCL создает внутри себя - для служебного пользования, программиста они вообще не должны волновать
Сергей М. (2008-04-04 16:19:00) [4]
> Кроме как хранить самому информацию о всех таких объектах
Да собссно никак.
А чем TComponent не устраивает ?
Наташа (2008-04-04 16:13:00) [5]Плохиш, спасибо. И всем, кто пытался помочь.
Вообще, из чистого любопытсва, было бы интересно узнать, как можно найти объект класса, унаследованного от TObject, а не от TComponent, по имени. Кроме как хранить самому информацию о всех таких объектах. Мне кажется должен быть более простой способ.
Германн (2008-04-04 02:20:00) [6]
> Ega23 © (04.04.08 02:12) [19]
>
>
> > Тем более, что у тебя есть фуражка. Зелёная, если не ошибаюсь?
>
>
>
> Я же не в ПВ служил, нет у меня зелёной фуражки...
>
Ну. Эээ.
Значит я ничего о тебе не знаю, кроме того, что ты из Дубны и тебя зовут: (Ну это в анкете прописано :). :(
Не пойму только одно. Кто ещё, кроме зелёных фуражек, смог бы ввязаться в драку с "голубыми беретами"!? А такой факт был озвучен тобой на сём форуме.
Ega23 (2008-04-04 02:12:00) [7]
> Тем более, что у тебя есть фуражка. Зелёная, если не ошибаюсь?
Я же не в ПВ служил, нет у меня зелёной фуражки...
Так, бандана "Клинское"... :)
Германн (2008-04-04 01:45:00) [8]
> Ega23 © (04.04.08 01:34) [16]
>
>
Тем более, что у тебя есть фуражка. Зелёная, если не ошибаюсь?
Германн (2008-04-04 01:44:00) [9]
> ЦУП © (04.04.08 01:26) [15]
>
>
> > Наташа (03.04.08 16:15)
>
> Может вместо головки иногда головой думать, "Наташа"?
> И еще поискатьпо форуму?
И с первым тезисом согласен и со вторым тоже, но с оговорками. Эти оговорки "явно озвучены" в Сергей М. © (03.04.08 17:34) [4]
Пока нет явной и ясной постановки задачи, не может быть и решений.
Ega23 (2008-04-04 01:34:00) [10]
> У меня на теле прыщ, т.е. это - эпидемия.
У меня - два, я круче тебя! :)
ЦУП (2008-04-04 01:26:00) [11]
> Наташа (03.04.08 16:15)
Может вместо головки иногда головой думать, "Наташа"?
И еще поискатьпо форуму?
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1206937574&n=18
ЦУП (2008-04-04 01:24:00) [12]
> Если человек, задаёт вопрос не в начинающих, то считаю,
> что ему достаточно дать направление, а всю справку держать
> в голове мне совершенно нет необходимости
Правильно. но иногда помочь надо вместо трепа.
> Leonid Troyanovsky © (03.04.08 19:51) [12]
> > Плохиш © (03.04.08 19:05) [10] > Если человек, задаёт
> вопрос не в начинающих, то считаюДык, истина ж дороже.
?
Leonid Troyanovsky (2008-04-03 19:54:00) [13]
> Ega23 © (03.04.08 18:35) [9]
> Да у меня таких полно, с property Name. Напрямую от TObject
У меня на теле прыщ, т.е. это - эпидемия.
--
Regards, LVT.
Leonid Troyanovsky (2008-04-03 19:51:00) [14]
> Плохиш © (03.04.08 19:05) [10]
> Если человек, задаёт вопрос не в начинающих, то считаю
Дык, истина ж дороже.
--
Regards, LVT.
(2008-04-03 19:32:00) [15]Удалено модератором
Плохиш (2008-04-03 19:05:00) [16]
> Leonid Troyanovsky © (03.04.08 18:05) [5]
Если человек, задаёт вопрос не в начинающих, то считаю, что ему достаточно дать направление, а всю справку держать в голове мне совершенно нет необходимости.
Ega23 (2008-04-03 18:35:00) [17]
> Иначе что значит "имя"? у какого объекта?
Да у меня таких полно, с property Name. Напрямую от TObject наследуюццо.
Только хрен ты их где, кроме как в списке, найдёшь.. :)
{RASkov} (2008-04-03 18:29:00) [18]По моему вторая часть [3] поста и есть ответ на вопрос автора... если конечно объект - это потомок TComponent.
Иначе что значит "имя"? у какого объекта?
Leonid Troyanovsky (2008-04-03 18:13:00) [19]
> Наташа (03.04.08 16:15)
> Вопрос: Как можно получить ссылку на объект по имени?
Не каждый объект именуется.
--
Regards, LVT.
clickmaker (2008-04-03 18:13:00) [20]
> Нужна ссылка на сам объект для доступа к его свойствам-методам.
> Как это можно реализовать?
а если их несколько?
и что - пофиг что искать? TTimer, скажем, или TTreeView - кто первый попадется под руку?