Вниз
Скачать: CL | DM;

Как увеличить выделяемую под прогу память   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.023 c
1-1083743709
half_litre
2004-05-05 11:55
2004.05.23
Переход с Delphi 3 на Delphi 7


7-1082389431
Stefan
2004-04-19 19:43
2004.05.23
Как получить список дочерних процессов ?


8-1078499463
artix
2004-03-05 18:11
2004.05.23
крутящаяся земля


14-1083600595
ИМХО
2004-05-03 20:09
2004.05.23
Уолл-стрит - ИМХО, очень хороший фильм о США


1-1084255430
Elast
2004-05-11 10:03
2004.05.23
запуск программы




   Наверх