![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка access violation at adress
Godod © (2011-02-02 12:24:00)Собственно вылазит эта ошибка при нажатии на кнопку, за которой прикреплен код:
[CODE]procedure TForm1.SnapshotClick(Sender: TObject);
var
i,j:integer; VideoName:WideString;
begin
if not working then
begin
Timer1.Tag:=0;
if RadioButton2.Checked=True then
begin
FilterGraph.Stop;
if OpenDialog.Execute then
begin
FilterGraph.Active := False;
FilterGraph.Active := true;
VideoName:=OpenDialog.FileName;
if videoname<>'' then
FilterGraph.RenderFile(OpenDialog.FileName);
end else exit;
end;
if radiobutton1.Checked then
begin
if combobox1.ItemIndex<>-1 then
OnSelectDevice
else
begin
showmessage('Пожалуйста выберите устройство ввода!');
exit;
end;
end;
//для кнопки перевёртыша
working:=true;
Snapshot.Caption:='Окончить вычисление траектории';
x1:=0;
x2:=0;
y1:=0;
y2:=0;
point_num:=0;
for j:=1 to Image3.Picture.Height do
for i:=1 to Image3.Picture.Width do
Image3.Canvas.Pixels[i,j]:=clWhite;
FilterGraph.Play;
FilterGraph.Volume:=0;
if (radiobutton1.Checked) and (SpinEdit_pr.Value<>0) then
begin
cooltrayicon1.ShowBalloonHint('SnapSHot','Прогрев камеры...',bitInfo,10);
delay(SpinEdit_pr.Value*1000);
end;
Timer1.Enabled:=true;
cooltrayicon1.ShowBalloonHint('SnapSHot','Определение траектории начато!', bitInfo,10);
end
else
begin
//для кнопки перевёртыша
working:=false;
Snapshot.Caption:='Начать вычисление траектории';
cooltrayicon1.ShowBalloonHint('SnapSHot','Определение траектории окончено!',bitInfo,10);
timer1.Enabled:=false;
for i:=1 to point_num do
Image3.Canvas.TextOut(points[i].x+2*pen_Width.Value,points[i].y,inttostr(i));
FilterGraph.Stop;
FilterGraph.ClearGraph;
end;
end;[/CODE]
На форуме уже есть темы с подобными ошибка, да и в гугле их куча, но, к сожалению, почти все перепробовал, но ничего не помогает, может быть вы поможете.
При нажатии на кнопку вылазит окно, где ты выбираешь видео, по которому нужно начертить график(по лазеру на видео), а если выбрана камера, тогда по камере
При прогоне через дебагер, выдается ошибка в файле DSPack в строчке:
[CODE]if Succeeded(QueryInterface(IMediaControl, MediaControl)) then[/CODE]
в моем коде запускается файл dspack после строчки:
[CODE]begin
FilterGraph.Stop;[/CODE]
А в процессоре ругается на строчку:
[CODE]ntdll.KiFastSystemCallRet:
778564F4 C3 ret [/CODE]
Теперь после за комментирования строки
[CODE]FilterGraph.Stop;[/CODE]
появляется окошко выбора видео, но все равно когда выбираешь видео, оно выдает ту же ошибку и при закрытии тоже.
Anatoly Podgoretsky (2011-02-02 22:15:00) [1]> Ega23 (02.02.2011 13:39:09) [9]
Out of bounds будет если разрешена проверка диапазонов, по умолчанию
запрещена (необоснованно).
Ega23 (2011-02-02 13:39:00) [2]
> Выход за границы основная причина AV
О как. Проверил. Думал должно что-то типа Out of bounds сгенерироваться. Ан фигушки...
Спасибо, буду иметь ввиду.
Godod (2011-02-02 13:38:00) [3]Спасибо, буду пробовать дальше
Anatoly Podgoretsky (2011-02-02 13:28:00) [4]> Ega23 (02.02.2011 12:51:05) [5]
Выход за границы основная причина AV, кроме неинициализированых и попорченых
указателей.
Dennis I. Komarov (2011-02-02 12:52:00) [5]
> Ega23 © (02.02.11 12:31) [3]
А чего ты хотел от нынешнего образования? Хорошо хоть так :)
Ega23 (2011-02-02 12:51:00) [6]
> Может выход за границы в массиве points?
Выход за границы - это не AV.
И. Павел (2011-02-02 12:48:00) [7]
for i:=1 to point_num do
Image3.Canvas.TextOut(points[i].x+2*pen_Width.Value,points[i].y,inttostr(i));
Может выход за границы в массиве points?
Ega23 (2011-02-02 12:31:00) [8]
for j:=1 to Image3.Picture.Height do
for i:=1 to Image3.Picture.Width do
Image3.Canvas.Pixels[i,j]:=clWhite;
Н-да...
Ega23 (2011-02-02 12:30:00) [9]
> Извините, чтобы не писать заново все, я скопировал с другого
> форума, но забыл изменить теги:(
Думаешь, от этого твой "код" стал читабельнее? Отформатирую как надо, в комментарии укажи точную строку на которой AV выпадает.
Сейчас что-то понять просто невозможно. Да и код ужасен.
Godod (2011-02-02 12:26:00) [10]Извините, чтобы не писать заново все, я скопировал с другого форума, но забыл изменить теги:(