Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];

Вниз

Где ошибка? Подскажите....   Найти похожие ветки 

 
-=Germe$=- ©   (2006-08-09 10:47) [0]

При закрытии окна вылетает ошибка. Вот код

var Pic, Pic1: array of array of TColor;
   X, Y: Integer;
   f: File;
begin
 SetLength(Pic, Image1.Width);
 For Y:=0 to Image1.Height do
   SetLength(Pic[Y], Image1.Width);
 For X:=0 to Image1.Width-1 do
   For Y:=0 to Image1.Height-1 do
     Pic[Y, X]:=Image1.Picture.Bitmap.Canvas.Pixels[X, Y];
 SetLength(Pic1, Image1.Width);
 For Y:=0 to Image1.Height do
   SetLength(Pic1[Y], Image1.Width);
 AssignFile(F, "d:\Temp.temp");
 ReWrite(F);
 BlockWrite(F,Pic, SizeOf(Pic));
 CloseFIle(F);
 AssignFile(F, "d:\Temp.temp");
 Reset(F, 1);
 BLockRead(F, Pic1, SizeOf(Pic));
 CloseFile(F);
 For X:=0 to Image1.Width do
   For Y:=0 to Image1.Height do
     Image2.Canvas.Pixels[X, Y]:=Pic1[Y, X];
end;


 
clickmaker ©   (2006-08-09 10:53) [1]

во-первых
SetLength(Pic, Image1.Width);
For Y:=0 to Image1.Height do
длину массива ставишь равной ширине, а потом идешь по высоте. Ну если картинка квадратная, сработает

и потом: зачем читать и писать в файл попиксельно? Есть же TPicture.Load/SaveFromFile


 
Сергей М. ©   (2006-08-09 10:54) [2]

Какая ошибка-то ?)


 
-=Germe$=- ©   (2006-08-09 10:55) [3]


> и потом: зачем читать и писать в файл попиксельно? Есть
> же TPicture.Load/SaveFromFile

Так надо... Потом будет тип в котором много битмапов будет... Как их в один файл запихнуть?


 
-=Germe$=- ©   (2006-08-09 10:56) [4]


> Какая ошибка-то ?)

Access Violation at address...


 
Сергей М. ©   (2006-08-09 10:58) [5]

Ну и по какому адресу ? Что, слово за словом из тебя вытягивать информацию ?)
Или для тебя все ошибки на одно лицо ?)


 
clickmaker ©   (2006-08-09 10:59) [6]


> Как их в один файл запихнуть?

TBitmap.SaveToStream


 
Плохиш ©   (2006-08-09 10:59) [7]


> -=Germe$=- ©   (09.08.06 10:47)

Как думаешь, отладчик в делфи для кого встроили?


 
-=Germe$=- ©   (2006-08-09 11:01) [8]


> Ну и по какому адресу ? Что, слово за словом из тебя вытягивать
> информацию ?)
> Или для тебя все ошибки на одно лицо ?)

00401C3A in module "project1"  Write of address 0094BFFF


 
clickmaker ©   (2006-08-09 11:01) [9]

кстати,
For Y:=0 to Image1.Height-1 do
если уж на то пошло


 
-=Germe$=- ©   (2006-08-09 11:02) [10]


> Как думаешь, отладчик в делфи для кого встроили?

Явно не для меня.... Ну не помагает он....

Если убрать AssignFile(F, "d:\Temp.temp");
Reset(F, 1);
BLockRead(F, Pic1, SizeOf(Pic));
CloseFile(F);
то все работает


 
-=Germe$=- ©   (2006-08-09 11:04) [11]


> кстати,
> For Y:=0 to Image1.Height-1 do
> если уж на то пошло

Щас это мне саавсем не важно.... Это просто эксперименты... Дальше будет нормальный проект...


 
Сергей М. ©   (2006-08-09 11:04) [12]


> -=Germe$=- ©   (09.08.06 11:01) [8]


Собираешь проект с опциями отладки, запускаешь из-под среды, выбираешь меню Search -> Find Error .., вводишь там 00401C3A и получаешь инф-цию о строчке, выполнение которой привело к ошибке.


 
Romkin ©   (2006-08-09 11:05) [13]

Да что там думать, млин. Включи контроль границ! Вылезет где надо, а не когда уже поздно. За границу массива ты вылезаешь, уже сказали.
Установи Range checking & Owerflow checking ($R+ & $Q+)


 
clickmaker ©   (2006-08-09 11:05) [14]

у тебя каша полная... Мало того что попиксельно читаешь, так еще и криво.
Размерности путаешь, границы массивов переходишь, BlockRead одно, а Sizeof другого...


 
-=Germe$=- ©   (2006-08-09 11:07) [15]


> Собираешь проект с опциями отладки, запускаешь из-под среды,
>  выбираешь меню Search -> Find Error .., вводишь там 00401C3A
> и получаешь инф-цию о строчке, выполнение которой привело
> к ошибке.

Некто assembler - финкция DeleteFree... Я ее точно не юзаю...


 
Сергей М. ©   (2006-08-09 11:09) [16]


> Я ее точно не юзаю


Юзаешь. Но неявно.
Хотя тебе уже сказали - код твой никуда не годится, потому что в нем гора ошибок и несуразностей.
К тому же см. [6]


 
clickmaker ©   (2006-08-09 11:09) [17]

Bmp := TBitmap.Create;
Bmp.Width := Width1;
Bmp.Height := Height1;
BlockRead(F, Bmp.ScanLine, Width1 * Height1);

если уж так хочется с сырым форматом работать


 
Slym ©   (2006-08-09 11:12) [18]

Тормоза нереальные плодишЪ... Скока по времени код выполняется? помнож на твои -=Germe$=- ©   (09.08.06 10:55) [3] много битмапов будет и будет 100% CPUtime долго-долго


 
Slym ©   (2006-08-09 11:14) [19]

clickmaker ©   (09.08.06 11:09) [17]
Ты забыл привести код загрузки :)


 
Slym ©   (2006-08-09 11:18) [20]

Slym ©   (09.08.06 11:14) [19]
загрузки

Туплю это она и есть, только без контроля цветности


 
-=Germe$=- ©   (2006-08-09 11:19) [21]

Всем спасибо... Особенно Slym(Главный флудер...), остальным ПАСИБО... Все работает


 
ORMADA ©   (2006-08-09 12:14) [22]

блин 100 пудова в 13 строке!:)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.041 c
4-1147969783
Handle
2006-05-18 20:29
2006.09.17
CreateToolHelp32SnapShot


15-1156486998
Pazitron_Brain
2006-08-25 10:23
2006.09.17
Кто-нибудь ползовался Space Gate


15-1156754004
IGray
2006-08-28 12:33
2006.09.17
PDF-оглавление не получается! (Ни в PDFCreator-е, ни в CutePDF)


8-1141248230
ShAB_v2.0
2006-03-02 00:23
2006.09.17
Как усреднить цвета до одного цвета?


2-1156598583
Wiedzmin
2006-08-26 17:23
2006.09.17
Суммирование данных.Ошибка в коде?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский