Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Компонетн, Куда подевалась производительность 
:(
    Опции темы
Artemon
Дата 25.10.2005, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

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



Доброго времени суток, у меня такая проблема:

Создал компонент на типа ListBox, только текст может отображаться в несколько колонок и в первой колонке могут быть 2 иконки.

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

Вопросы:

1) Если кто поймет в чем ошибка подскажите как исправить.
2) Чем можно заменить мой компонент?


Код


// Ф-ия компонента, которая добавляет запись в список
/********************************************************/
  void TEXT_LIST::Add_Item
                          (
                          const AnsiString Text,
                          unsigned int Column  ,
                          int Offset           ,
                          TClick LMouseClick   ,                          
                          void* Ptr                                        
                          )
{


  if(! Ctrl) return;

  if( Column >= array.size() ) return;

  TLabel* tmp = new TLabel(NULL);
  tmp->Parent = Ctrl;
  

  tmp->Hide();

  tmp->Transparent = true;
  tmp->ShowAccelChar = false;    
  tmp->Caption = Text;
  tmp->Left = Offset;
  tmp->VCLComObject = Ptr;

  tmp->OnMouseMove  = LMouseMove;
  tmp->OnMouseLeave = LMouseLeave;
  tmp->OnClick      = LMouseClick;


  if(array[Column].size())
    tmp->Top = array[Column].back()->Top + array[Column].back()->Height + OffsetBetv;
  else
    tmp->Top  = TOffset;

  array[Column].push_back(tmp);

  tmp->Show();
}



P.S.
Мой компонент находится в правом нижнем углу.


спасибо.


Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  123.JPG 69,41 Kb


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
poland
Дата 27.10.2005, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Artemon @ 25.10.2005, 18:51)

1) Если кто поймет в чем ошибка подскажите как исправить.
2) Чем можно заменить мой компонент?

1)Не фиг создавать сумасшедшее кол-во TLabel (TComponent->TObject). Builder без конца шарит по списку Components.
2)Заменить можно TDrawGrid
PM MAIL   Вверх
Artemon
Дата 27.10.2005, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

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



TDrawGrid - в даннум случае не решение


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
_hunter
Дата 27.10.2005, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



Цитата
TDrawGrid - в даннум случае не решение

почему это?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Artemon
Дата 28.10.2005, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

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



Потому что мне нужно видеть задний фон(форма или панель, и.т.д), а Гирд его сразу закроет.


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Dubinsky
Дата 1.11.2005, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



а ты BeginUpdate() EndUpdate() пару при заполнении используешь ? или он у тебя после каждого дополнения перерисовывает список ?
PM MAIL WWW   Вверх
Guest
Дата 2.11.2005, 10:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Dubinsky, если бы ты код посмотрел, то увидел бы что все сразуже выводится без BeginUpdate
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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