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

Вниз

Как имея доступ к компоненту получить на него указатель?   Найти похожие ветки 

 
Mishenka   (2004-11-12 14:12) [0]

Есть список TList, в котором содержатся указатели на компоненты. Как имея доступ к компоненту получить на него указатель?


 
GuAV ©   (2004-11-12 14:19) [1]

Mishenka   (12.11.04 14:12)
TButton1, TMemo1 - это и есть указатели.

Для компонентов удоднее TComponentList


 
Digitman ©   (2004-11-12 14:21) [2]

List.Items[такой-то] - вот тебе и указатель


 
Ega23 ©   (2004-11-12 14:25) [3]

var
List:TList;

List - указатель на экземпляр класса TList.


 
Mishenka   (2004-11-12 14:42) [4]

Ну допустим у нас есть TList в котором указатели на кучу ComboBox"ов. Потом мы захотели один ComboBox удалить из списка.  Тобишь есть CBox: TCombobox. Вопрос был в том, как имея эту переменную СBox получить указатель на неё из списка List????


 
Pentium133 ©   (2004-11-12 14:44) [5]

Ты для начала идентефицируй ComboBox"ы напрмер Tag"ом, а потом ищи и удаляй


 
Mishenka   (2004-11-12 14:47) [6]

А без идентификации никак нельзя обойтись?


 
Ega23 ©   (2004-11-12 14:48) [7]

for i:=0 to List.Count-1 do
if (List.Items[i] is TComboBox) then
 if TComboBox(List.Items[i])=CBox then
  .......


 
Digitman ©   (2004-11-12 14:48) [8]


> есть CBox: TCombobox


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


> как имея эту переменную СBox получить указатель на неё из
> списка List????


еще раз - CBox это 5-е колесо в телеге ...

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

ну и обращайся на здоровье !

TCombobox(List.Items[такой-то]).Text := "jhgfjhgkjhg";


 
Ega23 ©   (2004-11-12 14:51) [9]

for i:=0 to List.Count-1 do
if (List.Items[i] is TComboBox) then
if TComboBox(List.Items[i])=CBox then


Хотя для TList такая конструкция if (List.Items[i] is TComboBox) then вроде не пройдёт... Это для TObjectList...


 
Digitman ©   (2004-11-12 15:38) [10]


> Ega23 ©   (12.11.04 14:51) [9]


if TObject(List.Items[i]) is TComboBox then

и все ... и никакой TObjectList не нужен ..


 
Ega23 ©   (2004-11-12 15:43) [11]

Digitman ©   (12.11.04 15:38) [10]

Ну да, что-то в этом духе. Я помню, что напрямую List.Items[i] is TComboBox компиллятор в TList ругается, а в TObjectList - нет...


 
Rem ©   (2004-11-12 16:49) [12]

i := List.IndexOf(CBox);
if (i > -1) then // операции с i-м элементом;


>>Потом мы захотели один ComboBox удалить из списка
List.Remove(CBox);


 
Rem ©   (2004-11-12 17:10) [13]

Кстати, зачем создавать дополнительный список, если у TComponent есть свойство Components - список, содержащий все Owned компоненты?


 
Владислав ©   (2004-11-12 17:51) [14]

Телепаты перевелись? ;)
Судя по всему, у автора есть КомбоБокс. "Из него" нужно получить указатель на TList. :)
Если угадал, то ответ есть в [5]. Возможно сделать переменную типа TList глобальной тогда такая связь не нужна.
Остальное только колдовством :)



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

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

Наверх




Память: 0.47 MB
Время: 0.035 c
1-1099646985
Dimedrol
2004-11-05 12:29
2004.11.28
Как пункты меню и captions писать unicod-ом ?


3-1099309338
RusLAN_
2004-11-01 14:42
2004.11.28
Firebird. Копия БД (Тень)


1-1100284015
Robin Hood
2004-11-12 21:26
2004.11.28
Как мне из строки достать название формы или кнопки для использов


6-1095357819
Роман
2004-09-16 22:03
2004.11.28
Как запретить отключение графики в WB?


14-1100073503
cezar
2004-11-10 10:58
2004.11.28
Вопрос о вопросе





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