Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2010, 18:06   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию Ошибка при событии GIF.Free

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
GIF: TGIFImage;
begin
GIF := TGIFImage.Create;
  GIF.LoadFromFile('oe.gif');
    RichView1.AddPicture(GIF);
      RichView1.Format;
        GIF.Free;
end;
Возникает ошибка
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00403432 in module 'Project1.exe'. read of address 00000027'. Process stopped. Use Step or Run to continue.
Shouldercannon вне форума Ответить с цитированием
Старый 29.04.2010, 18:36   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Все просто. После RichView1.AddPicture(GIF) - GIF добавляется в объекты самого RichView, т.к. ,если ты читал хоть какой-нить мануал по компоненту, всё что отображено в RichView есть объекты, даже тест или одно слово выкрашенное 4-мя цветами - это 4 разных объекта в RichView.
Для, например, вывода в RichView разных GIF-ок нужно для каждой создать объект перед передачей его в RichView ...
Т.е. :
Код:
procedure TForm4.Button1Click(Sender: TObject);
var
GIF1, GIF2: TGIFImage;
begin
  GIF1 := TGIFImage.Create;
  GIF2 := TGIFImage.Create;
  GIF1.LoadFromFile('01.gif');
  GIF2.LoadFromFile('02.gif');
  RichView1.AddPictureEx('Смайл1',GIF1, 0, rvvaAbsMiddle);
  RichView1.AddPictureEx('Смайл2',GIF2, 0, rvvaAbsMiddle);
  RichView1.Format;
end;
И не надо ничего высвобождать ! RichView сам все высвободит когда прога закроется. Т.е. когда сам уничтожится.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при компиляции в Free Pascal DimOn4Ik Помощь студентам 4 15.03.2010 15:07
Можно ли при событии Workbook_SheetChange вызвать Workbook_SheetCalculate? motorway Microsoft Office Excel 3 16.07.2009 17:55
DLL. Ошибка при Form1.Free Roof Общие вопросы Delphi 3 26.07.2008 01:21
Открытие окна при событии FormCreate. фЁдОр Общие вопросы Delphi 9 06.02.2008 19:37
Программа отлично работает при событии Button1Click, и отказывается работать в FormCreate xTANATOSx Общие вопросы Delphi 3 19.09.2007 08:02