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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2012, 21:32   #1
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию Access violation at address

Доброго всем времени суток. Проблема в следующем: делаю эффект анимации, рисуя на канве (загружаю рисунки из файла ресурсов в пайнтбокс). на форме пробелем не возникло, все работает. а вот когда то же самое пытаюсь сделать на фрейме, при образении к паинтбоксу вылетает ошибка. в чем может быть проблема?
Код:
 
  type
      TNewThread = class(TThread)
    protected
    procedure Execute; override;
    end;
Код:
type
  TNewCalcFrame = class(TFrame)
      PaintBox1: TPaintBox;
Цитата:
{$R ProgrBar.RES}

function LoadJPEGfromEXE( Number: integer ): TJPEGImage;
var
ResStream: TResourceStream;
begin
Result := TJPEGImage.Create;
ResStream := TResourceStream.CreateFromID( HInstance, Number, RT_RCDATA );
Result.LoadFromStream( ResStream );
ResStream.Free;
end;

procedure TNewCalcFrame.PaintBar(tmpJPG: TJPEGImage);
begin
NewCalcFrame.PaintBox1.Canvas.Draw( 1,1,tmpJPG );
end;

procedure TNewThread.Execute;
var
i: integer;
tmpJPG: TJPEGImage;
begin
for i := 1 to 12 do
begin
tmpJPG := LoadJPEGfromEXE( i );
NewCalcFrame.PaintBox1.Canvas.Draw( 1,1,tmpJPG );
Application.ProcessMessages;
tmpJPG.Free;
Sleep(70);
end;
end;

googl вне форума Ответить с цитированием
Старый 02.05.2012, 21:57   #2
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

NewCalcFrame - это что такое, и что оно тут делает?
=master= вне форума Ответить с цитированием
Старый 02.05.2012, 22:00   #3
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
NewCalcFrame - это что такое, и что оно тут делает?
Код:
 var
 NewCalcFrame:TNewCalcFrame;
googl вне форума Ответить с цитированием
Старый 02.05.2012, 22:06   #4
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

А вторая часть вопроса?

И где эта штука инициализируется?
=master= вне форума Ответить с цитированием
Старый 02.05.2012, 22:18   #5
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
А вторая часть вопроса?

И где эта штука инициализируется?
как глобальная переменная, потому что я не мог обратиться к паинтбоксу.
googl вне форума Ответить с цитированием
Старый 02.05.2012, 22:23   #6
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

А если фрейм разместить на форме, то ошибки не будет.
Прик вне форума Ответить с цитированием
Старый 02.05.2012, 22:30   #7
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от Прик Посмотреть сообщение
А если фрейм разместить на форме, то ошибки не будет.
хм. ну а как я его еще использую). вот когда на форме нажимаю на кнопку фрейма, выскакивает эта ошибка.
googl вне форума Ответить с цитированием
Старый 02.05.2012, 22:35   #8
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

NewCalcFrame из PaintBar уберите, чтобы глаза не мусолил.

Это вы что этим срэдом делаете, таймер типа?
=master= вне форума Ответить с цитированием
Старый 02.05.2012, 22:43   #9
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
NewCalcFrame из PaintBar уберите, чтобы глаза не мусолил.

Это вы что этим срэдом делаете, таймер типа?
ой, это старый код. процедуры паинтбар нет. идет прямое обращение к паинтбоксу. слееп имеется ввиду?
googl вне форума Ответить с цитированием
Старый 02.05.2012, 22:52   #10
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

А эту проблему реально можно как-то пощупать?
Прик вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка: "Access violation at address 0045E503 in module 'Project1.exe'. Read of address 00316777. Katexxxsa Общие вопросы Delphi 1 03.10.2011 23:16
Access violation at address 004733C4 in module 'loginin.exe'. Read of address 00000048' pavellyba Общие вопросы Delphi 2 18.08.2011 10:32
Access violation at address 00447E73 in modul Project.exe. Read of address 00000057. ArtGrek Общие вопросы Delphi 40 12.03.2011 22:03
Access violation at address 00478D0E in module 'Project1.exe'. Write of address 00000000 fondreykus-1 Общие вопросы Delphi 5 27.01.2010 14:25
Ошибка: "Access violation at address 00454F01 in module 'Project1.exe'. Read of address 00000000. Fen1x Общие вопросы Delphi 8 13.10.2007 20:13