Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];

Вниз

Получить объект по имени   Найти похожие ветки 

 
Наташа   (2008-04-03 16:15) [0]

Добрый день!
Вопрос: Как можно получить ссылку на объект по имени?
Ну т.е. у меня есть переменная ObjName : string, в которой имя объекта, как мне обратиться к этому объекту?
Заранее спасибо всем неравнодушным.


 
clickmaker ©   (2008-04-03 16:37) [1]

откуда получить? какого класса объект?


 
Наташа   (2008-04-03 17:02) [2]

Да вот и я думаю - откуда получить)))
Объект некоторого класса. Допустим, имя класса мы тоже знаем. Пусть ClName : string   - переменная, в которой хранится имя класса искомого объекта. Нужна ссылка на сам объект для доступа к его свойствам-методам. Как это можно реализовать?


 
Плохиш ©   (2008-04-03 17:16) [3]

FindControl/FindComponent


 
Сергей М. ©   (2008-04-03 17:34) [4]


> Нужна ссылка на сам объект


Зачем ее искать ?
Ты эту ссылку потеряла что ли ?


 
Leonid Troyanovsky ©   (2008-04-03 18:05) [5]


> Плохиш ©   (03.04.08 17:16) [3]

> FindControl

Это не по имени, rtfm.

--
Regards, LVT.


 
clickmaker ©   (2008-04-03 18:13) [6]


> Нужна ссылка на сам объект для доступа к его свойствам-методам.
> Как это можно реализовать?

а если их несколько?
и что - пофиг что искать? TTimer, скажем, или TTreeView - кто первый попадется под руку?


 
Leonid Troyanovsky ©   (2008-04-03 18:13) [7]


> Наташа   (03.04.08 16:15)  

> Вопрос: Как можно получить ссылку на объект по имени?

Не каждый объект именуется.

--
Regards, LVT.


 
{RASkov} ©   (2008-04-03 18:29) [8]

По моему вторая часть [3] поста и есть ответ на вопрос автора... если конечно объект - это потомок TComponent.
Иначе что значит "имя"? у какого объекта?


 
Ega23 ©   (2008-04-03 18:35) [9]


> Иначе что значит "имя"? у какого объекта?


Да у меня таких полно, с property Name. Напрямую от TObject наследуюццо.
Только хрен ты их где, кроме как в списке, найдёшь.. :)


 
Плохиш ©   (2008-04-03 19:05) [10]


> Leonid Troyanovsky ©   (03.04.08 18:05) [5]

Если человек, задаёт вопрос не в начинающих, то считаю, что ему достаточно дать направление, а всю справку держать в голове мне совершенно нет необходимости.


 
имя   (2008-04-03 19:32) [11]

Удалено модератором


 
Leonid Troyanovsky ©   (2008-04-03 19:51) [12]


> Плохиш ©   (03.04.08 19:05) [10]

> Если человек, задаёт вопрос не в начинающих, то считаю

Дык, истина ж дороже.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2008-04-03 19:54) [13]


> Ega23 ©   (03.04.08 18:35) [9]

> Да у меня таких полно, с property Name. Напрямую от TObject

У меня на теле прыщ, т.е. это - эпидемия.

--
Regards, LVT.


 
ЦУП ©   (2008-04-04 01:24) [14]


> Если человек, задаёт вопрос не в начинающих, то считаю,
> что ему достаточно дать направление, а всю справку держать
> в голове мне совершенно нет необходимости


Правильно. но иногда помочь надо вместо трепа.


> Leonid Troyanovsky ©   (03.04.08 19:51) [12]
> > Плохиш ©   (03.04.08 19:05) [10] > Если человек, задаёт
> вопрос не в начинающих, то считаюДык, истина ж дороже.


?


 
ЦУП ©   (2008-04-04 01:26) [15]


> Наташа   (03.04.08 16:15) 

Может вместо головки иногда головой думать, "Наташа"?
И еще поискатьпо форуму?
http://delphimaster.net/view/2-1206937574/


 
Ega23 ©   (2008-04-04 01:34) [16]


> У меня на теле прыщ, т.е. это - эпидемия.


У меня - два, я круче тебя!  :)


 
Германн ©   (2008-04-04 01:44) [17]


> ЦУП ©   (04.04.08 01:26) [15]
>
>
> > Наташа   (03.04.08 16:15)
>
> Может вместо головки иногда головой думать, "Наташа"?
> И еще поискатьпо форуму?

И с первым тезисом согласен и со вторым тоже, но с оговорками. Эти оговорки "явно озвучены" в  Сергей М. ©   (03.04.08 17:34) [4]

Пока нет явной и ясной постановки задачи, не может быть и решений.


 
Германн ©   (2008-04-04 01:45) [18]


> Ega23 ©   (04.04.08 01:34) [16]
>
>

Тем более, что у тебя есть фуражка. Зелёная, если не ошибаюсь?


 
Ega23 ©   (2008-04-04 02:12) [19]


> Тем более, что у тебя есть фуражка. Зелёная, если не ошибаюсь?


Я же не в ПВ служил, нет у меня зелёной фуражки...
Так, бандана "Клинское"...  :)


 
Германн ©   (2008-04-04 02:20) [20]


> Ega23 ©   (04.04.08 02:12) [19]
>
>
> > Тем более, что у тебя есть фуражка. Зелёная, если не ошибаюсь?
>
>
>
> Я же не в ПВ служил, нет у меня зелёной фуражки...
>

Ну. Эээ.
Значит я ничего о тебе не знаю, кроме того, что ты из Дубны и тебя зовут: (Ну это в анкете прописано :). :(
Не пойму только одно. Кто ещё, кроме зелёных фуражек, смог бы ввязаться в драку с "голубыми беретами"!? А такой факт был озвучен тобой на сём форуме.


 
Наташа   (2008-04-04 16:13) [21]

Плохиш, спасибо. И всем, кто пытался помочь.

Вообще, из чистого любопытсва, было бы интересно узнать, как можно найти объект класса, унаследованного от TObject, а не от TComponent, по имени. Кроме как хранить самому информацию о всех таких объектах. Мне кажется должен быть более простой способ.


 
Сергей М. ©   (2008-04-04 16:19) [22]


> Кроме как хранить самому информацию о всех таких объектах


Да собссно никак.
А чем TComponent не устраивает ?


 
clickmaker ©   (2008-04-04 16:33) [23]


> Кроме как хранить самому информацию о всех таких объектах

а как ты будешь ими управлять, если не будешь хранить ссылки на них?
объекты, которые VCL создает внутри себя - для служебного пользования, программиста они вообще не должны волновать


 
Наташа   (2008-04-07 10:11) [24]


> Сергей М. ©   (04.04.08 16:19) [22]
>
> > Кроме как хранить самому информацию о всех таких объектах
>
>
> Да собссно никак.
> А чем TComponent не устраивает ?


Устраивает) Из интереса спрашиваю.


> clickmaker ©   (04.04.08 16:33) [23]
>
> > Кроме как хранить самому информацию о всех таких объектах
>
> а как ты будешь ими управлять, если не будешь хранить ссылки
> на них?
> объекты, которые VCL создает внутри себя - для служебного
> пользования, программиста они вообще не должны волновать


Все имена в программе известны и я могу провести сравнение с каждым именем. Под хранением информации о них, я имела ввиду хранить, например, в одном массиве все ссылки на объекты, для данной задачи это вроде разумно.  Соответственно этот массив надо реализовывать самой.
Меня удивляет, что Дельфи не предоставляет такой возможности... Ведь при компиляции все равно строится какая-то внутренняя таблица имен...


 
Palladin ©   (2008-04-07 10:13) [25]


> Меня удивляет, что Дельфи не предоставляет такой возможности.
> ..

какой именно? зачем тебе реализовывать массив? Делфи вообще никаких возможностей кроме языка не предоставляет. а вот на нем уже строятся все вкусности.

используй TStringList. в купе с сортировкой получится очень даже неплохая производительность, вот только имена должны быть естественно уникальными. но это достигается очень просто...



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.005 c
4-1188562548
Krants
2007-08-31 16:15
2008.05.04
GetTextExtentPoint32 при


2-1207744045
Снежинка
2008-04-09 16:27
2008.05.04
Пароль


11-1188466431
Gloomer
2007-08-30 13:33
2008.05.04
Проблемы с минимизацией окна


15-1206025363
ms1
2008-03-20 18:02
2008.05.04
SQL Serveur 2000


15-1206133335
Lets
2008-03-22 00:02
2008.05.04
Какие есть версии делфи?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский