Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.09;
Скачать: CL | DM;

Вниз

Проблема с переменной   Найти похожие ветки 

 
paule   (2004-12-21 11:34) [0]

Вот код. Пишу графический редактор.

begin
WorkList.Canvas.DrawFocusRect(R);
BMCopy := TBitMap.Create; //Создаем переменную которую поместим в буфер
{Задаем размеры этой переменной}
BMCopy.Width := R.Right - R.Left;
BMCopy.Height := R.Bottom - R.Top;
try
//Копируем содержимое выделенной области в эту переменную
BMCopy.Canvas.CopyRect(Rect(0, 0, BMCopy.Width, BMCopy.Height),RectMap. Canvas, R);
WorkList.Canvas.DrawFocusRect(R);
ClipBoard.Assign(BMCopy); //Помещаем переменную в буфер
if (Sender as TMenuItem).Name = "MCut" then
begin
// Если выбран пункт меню Вырезать, то закрашиваем выбранную область белым цветом
WorkList.Canvas.Brush.Color := clWhite;
WorkList.Canvas.FillRect(R);
end;
finally
BMCopy.Free;
end;

Один раз процедура отрабатывает нормально.
Второй раз вылетает на строке BMCopy := TBitMap.Create; с ошибкой о том что доступ к памяти запрещен и т.д.

а в чем проблема то. Я же её освобождаю перед этим. BMCopy.Free;


 
Denis_AC   (2004-12-21 11:49) [1]

Если BMCopy глобальная то не проще ли создать её один раз, а BMCopy.Free;
Замени BMCopy.FreeImage


 
olookin ©   (2004-12-21 18:21) [2]

А если попробовать закомментировать строку ClipBoard.Assign(BMCopy);? Почему то мне кажется, что это блокирует BMCopy...



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

Текущий архив: 2005.01.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
4-1101192062
Vaitek
2004-11-23 09:41
2005.01.09
Хуки на клавиатуру или мааленькие грабли.


1-1103806788
Guitar
2004-12-23 15:59
2005.01.09
Скрыть ввод в Edit.


14-1103553331
frEE)stylEr
2004-12-20 17:35
2005.01.09
ПРОБЛЕМЫ с модемом!!!!


14-1103667264
vecna
2004-12-22 01:14
2005.01.09
в продолжении темы профи/не профи...


1-1103801736
Кирилл
2004-12-23 14:35
2005.01.09
Конвертация