Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое удаление элементов, созданных через NEW 
:(
    Опции темы
docjohn
Дата 12.1.2006, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 6.10.2005

Репутация: нет
Всего: нет



Печатаю через QReport несколько листов.
На каждом свой переменный набор элементов, создаваемых через NEW.
Например
TQRShape *r = new TQRShape(form->qr);
r->Parent=form->qr;
r->Name="nnmm"+i;
Ессно на кажой последующей странице печатаются все элементы предыдущих страниц.
Нужно чтобы для каждой страницы после события Print() предыдущие элементы удалялись, то есть
удалять их через delete.
Но delete r; в событии AfterPrint выдает ошибку
Ошибка Undefinied symbol "r".

HELP
PM MAIL   Вверх
tigger
Дата 12.1.2006, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 456
Регистрация: 30.4.2005

Репутация: 2
Всего: 4



В загаловочном файле формы в секцию public: запиши
TQRShape *r;

а вместо TQRShape *r = new TQRShape(form->qr);
r = new TQRShape(form->qr);

и при удалении delete r


--------------------
user posted image
PM MAIL   Вверх
docjohn
Дата 13.1.2006, 03:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 6.10.2005

Репутация: нет
Всего: нет



Все получилось.
Теперь следующая проблема.
Мне нужно сделать переменное кол-во элементов TQRShape на каждой странице.
И затем их удалить.
Они формируются в цикле.
Что-то типа
for(i=1;i<=kol;i++)
{
...
r = new TQRShape(form->qr);
...
}
В таком виде через delete r; удаляется ессно только последний элемент.

В цикле должны формироваться элементы с именами в соответствии со счетчиком цикла, например
r1, r2, r3 и т.д.
Как это сделать?

PM MAIL   Вверх
Partizan
Дата 13.1.2006, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 7
Всего: 67



советую обявить r как двойной указатель...

Код

TQRShape **r;
*r = new TQRShape*[kol];
for(i=1;i<=kol;i++)
{
...
r[i-1] = new TQRShape(form->qr);
...
}



--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.