Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Timagelist, почему глючит код? 
:(
    Опции темы
Illusion Dolphin
  Дата 5.4.2004, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



пишу:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
b:tbitmap;
begin
for i:=1 to 20000 do
begin
b:=tbitmap.create;
b.PixelFormat:=pf24bit;
b.Width:=100;
b.Height:=100;
if -1=ImageList_AddMasked(imagelist1.Handle,b.Handle, 0) then
break;
b.Free;
label1.Caption:=inttostr(i);
application.ProcessMessages;
end;
end;

В imagelist1 установлена высота и ширина на 100 - где-то после 1200 изображений добавления не происходит (ImageList_AddMasked выдаёт -1), не могу понять, почему... Если все зразмеры установить на 50 пикселей, то добавляется ровно в четре раза больше изображений! Неужели существует предел на количество занятой памяти в Timagelist? Если не использовать этот компонент, то что можно сделать иначе? Можно тогда простой примерчик, как это сделать?


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
x77
Дата 5.4.2004, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



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

а иначе - всё что угодно. ba: array of TBitmap; , например, чем поганый вариант? и далее:

SetLength (ba, 20000);
for i := 0 to High (ba) do begin
ba [i] := TBitmap.Create;
...
end;

Finalize (ba);

для гурманов - наследование TCollection/TCollectionItem.

да масса способов, короче.


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

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

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

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

FAQ раздела лежит здесь!


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

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


 




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


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

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