![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Где ошибка? Подскажите.... [D7]
-=Germe$=- © (2006-08-09 10:47:00)При закрытии окна вылетает ошибка. Вот код
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;
ORMADA (2006-08-09 12:14:00) [1]блин 100 пудова в 13 строке!:)
-=Germe$=- (2006-08-09 11:19:00) [2]Всем спасибо... Особенно Slym(Главный флудер...), остальным ПАСИБО... Все работает
Slym (2006-08-09 11:18:00) [3]Slym © (09.08.06 11:14) [19]
загрузки
Туплю это она и есть, только без контроля цветности
Slym (2006-08-09 11:14:00) [4]clickmaker © (09.08.06 11:09) [17]
Ты забыл привести код загрузки :)
Slym (2006-08-09 11:12:00) [5]Тормоза нереальные плодишЪ... Скока по времени код выполняется? помнож на твои -=Germe$=- © (09.08.06 10:55) [3] много битмапов будети будет 100% CPUtime долго-долго
clickmaker (2006-08-09 11:09:00) [6]Bmp := TBitmap.Create;
Bmp.Width := Width1;
Bmp.Height := Height1;
BlockRead(F, Bmp.ScanLine, Width1 * Height1);
если уж так хочется с сырым форматом работать
Сергей М. (2006-08-09 11:09:00) [7]
> Я ее точно не юзаю
Юзаешь. Но неявно.
Хотя тебе уже сказали - код твой никуда не годится, потому что в нем гора ошибок и несуразностей.
К тому же см. [6]
-=Germe$=- (2006-08-09 11:07:00) [8]
> Собираешь проект с опциями отладки, запускаешь из-под среды,
> выбираешь меню Search -> Find Error .., вводишь там 00401C3A
> и получаешь инф-цию о строчке, выполнение которой привело
> к ошибке.
Некто assembler - финкция DeleteFree... Я ее точно не юзаю...
clickmaker (2006-08-09 11:05:00) [9]у тебя каша полная... Мало того что попиксельно читаешь, так еще и криво.
Размерности путаешь, границы массивов переходишь, BlockRead одно, а Sizeof другого...
Romkin (2006-08-09 11:05:00) [10]Да что там думать, млин. Включи контроль границ! Вылезет где надо, а не когда уже поздно. За границу массива ты вылезаешь, уже сказали.
Установи Range checking & Owerflow checking ($R+ & $Q+)
Сергей М. (2006-08-09 11:04:00) [11]
> -=Germe$=- © (09.08.06 11:01) [8]
Собираешь проект с опциями отладки, запускаешь из-под среды, выбираешь меню Search -> Find Error .., вводишь там 00401C3A и получаешь инф-цию о строчке, выполнение которой привело к ошибке.
-=Germe$=- (2006-08-09 11:04:00) [12]
> кстати,
> For Y:=0 to Image1.Height-1 do
> если уж на то пошло
Щас это мне саавсем не важно.... Это просто эксперименты... Дальше будет нормальный проект...
-=Germe$=- (2006-08-09 11:02:00) [13]
> Как думаешь, отладчик в делфи для кого встроили?
Явно не для меня.... Ну не помагает он....
Если убратьAssignFile(F, 'd:\Temp.temp');то все работает
Reset(F, 1);
BLockRead(F, Pic1, SizeOf(Pic));
CloseFile(F);
clickmaker (2006-08-09 11:01:00) [14]кстати,
For Y:=0 to Image1.Height -1do
если уж на то пошло
-=Germe$=- (2006-08-09 11:01:00) [15]
> Ну и по какому адресу ? Что, слово за словом из тебя вытягивать
> информацию ?)
> Или для тебя все ошибки на одно лицо ?)
00401C3A in module 'project1' Write of address 0094BFFF
Плохиш (2006-08-09 10:59:00) [16]
> -=Germe$=- © (09.08.06 10:47)
Как думаешь, отладчик в делфи для кого встроили?
clickmaker (2006-08-09 10:59:00) [17]
> Как их в один файл запихнуть?
TBitmap.SaveToStream
Сергей М. (2006-08-09 10:58:00) [18]Ну и по какому адресу ? Что, слово за словом из тебя вытягивать информацию ?)
Или для тебя все ошибки на одно лицо ?)
-=Germe$=- (2006-08-09 10:56:00) [19]
> Какая ошибка-то ?)
Access Violation at address...
-=Germe$=- (2006-08-09 10:55:00) [20]
> и потом: зачем читать и писать в файл попиксельно? Есть
> же TPicture.Load/SaveFromFile
Так надо... Потом будет тип в котором много битмапов будет... Как их в один файл запихнуть?