Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.01.2008, 18:47
Аватар для ~TB~
~TB~ ~TB~ вне форума
Начинающий
 
Регистрация: 17.02.2006
Адрес: Казахстан
Сообщения: 172
Версия Delphi: XE
Репутация: 1500
По умолчанию Странная ошибка и проблеммы оптимизации

У меня на таймере в программе стоит отрисовка на TImage, но почему-то при запуске программы сразу выкидывает с ошибкой "Access violation at adress...", всетаки успев отрисовать на TImage. При отрисовке на TImage при создание формы все нормально. Помогите разобраться, программа прикрепленна к посту. Если поможете еще и в оптимизации вывода графики, буду очень благодарен!
Вложения
Тип файла: zip Editor.zip (7.6 Кбайт, 6 просмотров)
__________________
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110
Ответить с цитированием
  #2  
Старый 12.01.2008, 19:27
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Счастье

В общем закоментируй строку и всё нормально:
Код:
// PIC.Destroy;
Ответить с цитированием
  #3  
Старый 13.01.2008, 16:15
Аватар для ~TB~
~TB~ ~TB~ вне форума
Начинающий
 
Регистрация: 17.02.2006
Адрес: Казахстан
Сообщения: 172
Версия Delphi: XE
Репутация: 1500
По умолчанию

Цитата:
Сообщение от Oleg
В общем закоментируй строку и всё нормально:
Код:
// PIC.Destroy;

А как уничтожить много насозданых битмапов в памяти?
__________________
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110
Ответить с цитированием
  #4  
Старый 13.01.2008, 16:48
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Сообщение

Цитата:
Сообщение от ~TB~
А как уничтожить много насозданых битмапов в памяти?
Может вывести эту переменную в глобальную и уничтожать например при закрытии(уничтожении) формы ?

Последний раз редактировалось Oleg, 13.01.2008 в 16:53.
Ответить с цитированием
  #5  
Старый 14.01.2008, 00:09
Igory86 Igory86 вне форума
Прохожий
 
Регистрация: 13.01.2008
Сообщения: 4
Репутация: 10
По умолчанию

Убери лишний битм и работает быстрей и памяти меньше кушает!

procedure DrawM;
var
n, i,k,f,d: Integer;
c: Char;
s: String;
begin
s:='';
f:=0;
CAN.Canvas.Rectangle(0,0,962,592);
for i:=0 to 27 do
begin
s:=M.Strings[i];
for k:=0 to 26 do
begin
c:=s[k+1];
case c of
'A': n:=1;
'B': n:=2;
'C': n:=3;
'D': n:=4;
end;
begin
if i mod 2>0 then d:=17 else d:=0;
CAN.Canvas.Draw(k*35-d+17,i*25-f,BUF[n]);
FMAIN.MAP.Canvas.Draw(0,0,CAN);
end;
end;
f:=f+4;
end;
end;

procedure TFMAIN.TTimer(Sender: TObject);
begin
application.ProcessMessages; {Чтобы всё процессорное время не отнять}
DrawM; {на сайте EXESCHNICK посмотри}
end;
Ответить с цитированием
  #6  
Старый 14.01.2008, 07:29
Аватар для ~TB~
~TB~ ~TB~ вне форума
Начинающий
 
Регистрация: 17.02.2006
Адрес: Казахстан
Сообщения: 172
Версия Delphi: XE
Репутация: 1500
По умолчанию Оптимизации бы

Спасибо! Работает как надо. Только вот тормозит жутко. Пожалуйста подскажите как можно оптимизировать.
Вложения
Тип файла: zip Editor.zip (8.4 Кбайт, 5 просмотров)
__________________
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:01.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025