Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
ВнизКак увеличить выделяемую под прогу память Найти похожие ветки
← →
Diver (2004-05-06 00:58) [0]Пишу прогу, и тут бац она частично перестает работать, перестают работать три взамосвязанных цикла... Думал заглюкавило делфа, но скорее это не хватает памяти выделенной под работу программы. Подскажите как ее увеличить? Заранее благодарен.
← →
DVM © (2004-05-06 01:03) [1]4 Гб не хватает?
> и тут бац она частично перестает работать
как это?
← →
Rouse_ © (2004-05-06 01:06) [2]> перестают работать три взамосвязанных цикла
Скорее стек...
← →
Diver (2004-05-06 01:08) [3]Да не выполняет алгоритм заложенный в серии из трех циклов, убираю один цикл, все пашет.
← →
DVM © (2004-05-06 01:10) [4]
> Diver (06.05.04 01:08) [3]
Код циклов поглядеть можно? Если не очень большой.
← →
Anatoly Podgoretsky © (2004-05-06 01:13) [5]Больше 2 гб не выйдет, а это выделеяется автоматически.
← →
Diver (2004-05-06 01:15) [6]наброски проги распознавания рисунков...
for y0 := 0 to bm2.Height-bm1.Height-1 do
begin
pr:=0;min:=100;
for y := 0 to bm1.Height - 1 do
begin
p1 := bm1.ScanLine[y];
p2 := bm2.ScanLine[y0+y];
for x := 0 to bm1.Width * 3 - 1 do
begin
r:=p1[x]-p2[x];
if r>255/2 then r:=256-r;
if r<-225/2 then r:=-(256+r);
pr:=pr+r/255*100;
end;
end;
if min>pr/x/y then
begin
min:=pr/x/y;
ymin:=y0;
Form1.Caption := currtostr(min)+"%";
end;
end;
← →
Diver (2004-05-06 01:17) [7]работа идет с масивами бмпешек, которые в свою очередь немаленькие
← →
DVM © (2004-05-06 01:26) [8]
> Diver (06.05.04 01:17) [7]
попробуй убери Form1.Caption := currtostr(min)+"%";
Лавина сообщений посылается.
← →
DVM © (2004-05-06 01:27) [9]
> for y0 := 0 to bm2.Height-bm1.Height-1 do
здесь отрицательное число не может появиться?
← →
Diver (2004-05-06 01:30) [10]убирал даже
begin
min:=pr/x/y;
ymin:=y0;
Form1.Caption := currtostr(min)+"%";
end;
и отрицательных чисел тоже нет
пробую задать другие алгоритмы вместо сатых тот же результат
← →
DVM © (2004-05-06 01:34) [11]
> pr:=pr+r/255*100;
может здесь выход за пределы integer происходит?
← →
Diver (2004-05-06 01:36) [12]у меня real, да все там верно, не кантачит и все.
← →
DVM © (2004-05-06 01:38) [13]А убирание какого цикла проблему решает?
← →
Diver (2004-05-06 01:40) [14]первого
← →
Rouse_ © (2004-05-06 01:57) [15]> if min>pr/x/y then
В приведенном коде это излишнее - гораздо проще и правильней сделать в виде
type
...
B, R, G: Byte
Во вторых - не видно работы потоков...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.034 c