Вниз
Скачать: CL | DM;

Освобождение памяти   Найти похожие ветки 

 
LobaS ©   (2007-01-27 13:46) [0]

Помогите пожалуйста, есть массив из 296 TShape, OnFormCreate этот массив заполняется и Shаpe"ы располагаются на форме в опеределённой последовательности, так вот, когда запускаю прогу, то на первый взгляд они распологаются норм, но потом когда начинаю скролом ездить по форме (а форма огромная 2500*1619), то начинаются баги, вроде  шейпы обрезаются, накладываются друг на друга и т.д. Я так понимаю это из-за того, что я не освободил память после заполнения массива, как это сделать? пробовал и *имя массива*.free, и через цикл, в котором писал *имя массива*[i].free. В первом случае показывает ошибку в синтаксисе, во втором выдаёт Access Violation при запуске, подскажите, как же всё-таки освободить память. Заранее спасибо.


 
Zeqfreed ©   (2007-01-27 13:52) [1]

Как связано перекрывание шейпов с неосвобожденной памятью? Тем более, если ты освободишь память, занятую шейпами, то что ты собрался показывать на форме?


 
LobaS ©   (2007-01-27 13:53) [2]

хм, тогда с чем может быть связано такое поведение шейпов?


 
Zeqfreed ©   (2007-01-27 13:56) [3]

С неправильным обращением с ними.


 
LobaS ©   (2007-01-27 14:07) [4]

Огромное спасибо, ошибку уже нашёл! :)


 
Zeqfreed ©   (2007-01-27 14:11) [5]

Всегда пожалуйста :)


 
LobaS ©   (2007-01-27 14:34) [6]

Вот, ещё один вопрос возник: никогда раньше не встречался с компонентом ImageList, каким образом из него можно взять картинку, т.е.
Image1.picture:=*Картинка 0 из Imagelist1*, как это правильно оформить, заранее спасибо


 
PZ   (2007-01-27 15:36) [7]

Получить первую картинку (индех = 0)
ImageList1.GetBitmap(0, Image1.Picture.Bitmap);


 
LobaS ©   (2007-01-27 18:31) [8]

Снова проблема , надеюсь последняя: каким образом реализовать MouseDown, MouseMove, MouseUp на заполненом OnFormCreate массиве из TImage?
Т.е. мне нужно, чтобы при нажатии на один из элементов массива с ним проделывались определённые действия, только что пробовал создать свою процедуру - окончательно запутался, подскажите пожалуйста как это сделать, заранее спасибо.


 
TRUNK ©   (2007-01-27 23:31) [9]


> LobaS ©   (27.01.07 18:31) [8]
> при нажатии на один из элементов массива

Обьясни понятнее.


 
LobaS ©   (2007-01-28 12:28) [10]

Т.е. самые обычные MouseEvents, вот только как их реализовать на массиве, а не на одном объекте?


 
TRUNK ©   (2007-01-28 23:21) [11]


> LobaS ©   (28.01.07 12:28) [10]

Т.е. нужно, чтобы был, допустим, OnMouseDown один на всех, и при этом он (OnMouseDown) знал, какой объект его вызвал?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.888 c
2-1169990981
dasha
2007-01-28 16:29
2007.02.18
почему Opendialog "тормозит" программу


2-1169975622
electroman239
2007-01-28 12:13
2007.02.18
стиль заливки


9-1144144001
антонио
2006-04-04 13:46
2007.02.18
[GLScene] Создание объекта


6-1158032979
kotRec
2006-09-12 07:49
2007.02.18
Время на сервере


2-1170331799
=Teddy=
2007-02-01 15:09
2007.02.18
Отправка сообщений на почтовый сервер




   Наверх