Главная страница
    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.037 c
14-1100134186
Ihor Osov'yak
2004-11-11 03:49
2004.11.28
Что-то типа DelForEx, но для VS6


4-1097821383
shelest
2004-10-15 10:23
2004.11.28
Запуск программы под другим пользователем.


6-1095362612
dukenn
2004-09-16 23:23
2004.11.28
Как обратиться к данному url у?


1-1100245406
Frozzen
2004-11-12 10:43
2004.11.28
Как правельно объявить массив цветов?


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