Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Добавление обьектов в форму во время работы програмы...

5.7K
31 августа 2004 года
ZEREN
13 / / 04.08.2004
Как мене зделать так, чтобы во время работы программы я создавал обьект - например TLabel, и он был на форме TForm1?, Когда это один обьект - нормально,.. я его создал, спрятал, а потом когда надо достал,... А если мене надо таких обьектов достать штук СТО!!! и што мене их мышкой кликать, доставать??? за..мучаюся однако,... Хотелося бы связанным списком,.. или двухсвязным списком...
Пробовал делать ниччё не получилося...
2.0K
31 августа 2004 года
Fazil6
126 / / 17.12.2003
Цитата:
Originally posted by ZEREN
Как мене зделать так, чтобы во время работы программы я создавал обьект - например TLabel, и он был на форме TForm1?, Когда это один обьект - нормально,.. я его создал, спрятал, а потом когда надо достал,... А если мене надо таких обьектов достать штук СТО!!! и што мене их мышкой кликать, доставать??? за..мучаюся однако,... Хотелося бы связанным списком,.. или двухсвязным списком...
Пробовал делать ниччё не получилося...



И что же ты пробовал делать?

Код:
\
       
        TList *lst = new TList();
// бла - бла
        TLabel *lab = new TLabel(this);
       
        lab->Caption = "YFPDFYBT";
        lab->Parent = this;
        lab->Top =  Y;
        lab->Left = X;
        lab->Visible = 1;
       
        lst->Add((void*)lab);

// бла - бла

        TList *l = (TList *)lst->Items;
        delete l;



в общих чертах
5.7K
01 сентября 2004 года
ZEREN
13 / / 04.08.2004
Цитата:
Originally posted by Fazil6


И что же ты пробовал делать?

Код:
\
       
        TList *lst = new TList();
// бла - бла
        TLabel *lab = new TLabel(this);
       
        lab->Caption = "YFPDFYBT";
        lab->Parent = this;
        lab->Top =  Y;
        lab->Left = X;
        lab->Visible = 1;
       
        lst->Add((void*)lab);

// бла - бла

        TList *l = (TList *)lst->Items;
        delete l;



в общих чертах




БОЛЬШОЕ СПАСИБА !!!
работает!!!
Я просто не знал про такую фишку как Листы...
Буду знать...

2.0K
01 сентября 2004 года
Fazil6
126 / / 17.12.2003
Цитата:
Originally posted by ZEREN



БОЛЬШОЕ СПАСИБА !!!
работает!!!
Я просто не знал про такую фишку как Листы...
Буду знать...



Ошибочка....
должно быть

 
Код:
// бла - бла            
 TLabel *l = (TLabel *)lst->Items;        
 delete l;


:D
368
01 сентября 2004 года
rostyslav
629 / / 13.07.2004
Цитата:
Originally posted by Fazil6

 
Код:
// бла - бла            
 TLabel *l = (TLabel *)lst->Items;        
 delete l;


:D



delete l это не лишнее?

2.0K
01 сентября 2004 года
Fazil6
126 / / 17.12.2003
Цитата:
Originally posted by rostyslav


delete l это не лишнее?



Как это лишнее? Это обязательное. Это в крови должно быть.

368
01 сентября 2004 года
rostyslav
629 / / 13.07.2004
Цитата:
Originally posted by Fazil6


Как это лишнее? Это обязательное. Это в крови должно быть.


если delete l вызываешь в конце работы, для каждого элемента списка, то ты прав. TList не удаляет объекты, на которых указывают его элементы.

но входе работы delete l убирает метку с формы и lst->Items указывает на недействитеьный адрес.

2.0K
01 сентября 2004 года
Fazil6
126 / / 17.12.2003
Цитата:
Originally posted by rostyslav

если delete l вызываешь в конце работы, для каждого элемента списка, то ты прав. TList не удаляет объекты, на которых указывают его элементы.

но входе работы delete l убирает метку с формы и lst->Items указывает на недействитеьный адрес.



Как и когда удалять - это разработчик должен решать, но раз сделал new будь добр сделать delete

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог