Вниз
Скачать: 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.03 c
14-1083160290
copyr25
2004-04-28 17:51
2004.05.23
Back2Life v. either 1.0 or 1.01


6-1080805579
Max_
2004-04-01 11:46
2004.05.23
событие onNewWindow компонента TwebBrowser


14-1083648492
Gorodov
2004-05-04 09:28
2004.05.23
Уменьшение размера программы


9-1074423637
ZAROLF
2004-01-18 14:00
2004.05.23
2D аркада "SPACEMAN"


9-1074687307
Shopot
2004-01-21 15:15
2004.05.23
Direct3D в Delphi.




   Наверх