ImageList и проблема свободной памяти

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Oldman
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 10.11.2003 (Пн) 12:23
Откуда: ТРТУ

ImageList и проблема свободной памяти

Сообщение Oldman » 06.02.2004 (Пт) 10:14

Попытался хранить страницы предпросмотра в ImageList'е.
Задал свойства:
Код: Выделить всё
IL1.ImageHeight = Printer.Height
IL1.ImageWidth = Printer.Width

Затем при попытке сохранить сформированное изображение выдается ошибка 7, типа нехватает памяти :x :
Код: Выделить всё
set IM = IL1.ListImages.Add (,, Pict1.Image)

где IM - ListImages.

Где тут собака порылась? Кто может подскажет другой путь - мне надо хранить порядка 300 страниц готовых к печати образов... :(
Ежики не колются, только бухают иногда

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.02.2004 (Пт) 11:02

Может всё-таки scalewidth, scaleheight? :roll:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.02.2004 (Пт) 11:39

Придумай другой способ.
Растровая картинка (ч/б) для принтера при разрешении 300 DPI и на лист A4 занимает около мегабайта. Триста картинок - 300 Мб. Памяти не напасешься.
Lasciate ogni speranza, voi ch'entrate.

Ilya Vasilyev
Постоялец
Постоялец
 
Сообщения: 820
Зарегистрирован: 06.08.2002 (Вт) 5:36
Откуда: Russia, Omsk

Сообщение Ilya Vasilyev » 06.02.2004 (Пт) 11:51

Хм... alibek прав - надо найти другой способ... почему картинки нельзя подгружать с диска?
Изображение
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали

Oldman
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 10.11.2003 (Пн) 12:23
Откуда: ТРТУ

Сообщение Oldman » 06.02.2004 (Пт) 15:07

Так это же те же 300 Мег на винт сливать, а потом опять скачивать... И потом сразу после закрытия формы "Распечатка" их похерить надо будет, а при вызове оной формы заново создавать - напряг для винта не есть гуд. :cry:
А чем внешне отличается MSHFlexGrid от MSFlexGrid? В командах в частности... :idea:
Ежики не колются, только бухают иногда

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 07.02.2004 (Сб) 12:51

Винт будет напрягаться по любому, либо твоей программой, либо виндой при своппинге.
Советую при превью создавать вспомогательную коллекцию объектов, готовых к печати (с уже заполненными координатами, цветами и пр.) и печатать их, это ненамного замедлит работу, зато значительно экономит память.

Гриды практически одинаковы, только первый допускает иерархическую организацию данных (слева от первого столбца буду плюсики, с помощью которых можно скрывать или отображать некоторые строки).
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

    TopList