![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
EAccessViolation
San1 © (2007-11-22 09:39:00)Подскажите пожалуйста, почему при обработке некоторых картинок возникает исключительная ситуация EAccessViolation with message 'Access violation at address 004053AC in module project.exe'
type
Point_BitMap=record
x,y:Currency;
end;
var
Massiv_of_PointBitMap:array of Point_BitMap;
implementation
.
.
...
...Начало моей процедуры -
Rep:=0;
S:=Image.Width*Image.Height;
SetLength(Massiv_of_PointBitMap,S);
for k:=0 to canv.Height-1 do begin
for z:=0 to canv.Width-1 do begin
if canv.Canvas.Pixels[z,k]=clBlue then
begin
Rep:=Rep+1;
Massiv_of_PointBitMap[Rep].x:=(z/20);
Massiv_of_PointBitMap[Rep].y:=(k/20);
end;
end;
end;
dz:=0;
while dz>=zed*(-1) do begin
dz:=dz-0.05;
for k:=1 to Rep do begin
writeln(f,FormatFloat('#.###',Massiv_of_PointBitMap[k].x),' ',FormatFloat('#.###',Massiv_of_PointBitMap[k].y),' ',FormatFloat('#.##',dz));
end;
end;
Massiv_of_PointBitMap:=nil;
San1 (2007-11-22 10:04:00) [1]Спасибо!
San1 (2007-11-22 10:03:00) [2]Согласен, глупая ошибка :.)
ЮЮ (2007-11-22 09:56:00) [3]> Здесь задаюсь длиной массива с запасом
Да, но цикл то по canv.Height-1 и canv.Width. Их тогда и используй при определении размера массива. Или циклы организуй по Image.Width и Image.Height
Сергей М. (2007-11-22 09:55:00) [4]
> задаюсь длиной массива с запасом
Причем здесь "запас" ?)
Что такое Image ?
San1 (2007-11-22 09:50:00) [5]>> S:=Image.Width*Image.Height;
>Сам-то ты понял, что в этой строчке сделал ?
Здесь задаюсь длиной массива с запасом, поскольку крайняя ситуация это когда все пикселы канвы цвета clBlue.
Сергей М. (2007-11-22 09:44:00) [6]
> почему при обработке некоторых картинок возникает исключительная
> ситуация
Видимо на этих картинах порнуха)
> S:=Image.Width*Image.Height;
Сам-то ты понял, что в этой строчке сделал ?