..pa eto, za ispis koristim CR, koji dolazi uz VS 2005 Pro, i na temelju rqznih kriterija (Prezime, ulica,.....) koje korisnik unese ja napravim select nad bazom i napunim dataset.tablica, te za datasource CRizvjestaju postavim taj dataset, sve je to lijepo, no ako korisnik nije recimo unio ništa u polja za kriterije (upozoren je na to) onda mu se u ispisu pojave svi zapisi, ja sam ti isprobavao na 211000 zapisa, i kad bi ja nakon toga zatvorio formu gdje je crystal report viewer, i u kojem se prikazao taj izvještaj, onda mi se nije oslobodila memorija, dakle ako su svi ti zapisi zauzeli ~100MB recimo, kad se to sve zatvorilo to se oslobađalo jako sporo, pa ako bi onda opet pokrenuo takav izvještaj ..... pretpostavljaš šta bi bilo :) ,u tom je bio porblem, samo nek mi nitko ne svajetuje da neda da se to uopče ispisuje ili šta ako se slučajno klikne jer kad je tako velik broj zapisa program pita dva puta, a rješenje sam već gore napisao
Code:
dataset.tablica.clear();
dataset.tablica.dispose();
GC.Collect();
GC.WaitForFinalize();
Citat:
Najbolji odgovor bi bio da jednostavno ne otvaraš toliki broj zapisa osim ako to nije apsolutno neophodno. Ako koristiš bazu, filtriranje se vrši unutar same baze, pa čak i da nije na nekom super-serveru - biće znatno brže od tvog post-procesiranje podataka .
- filtriranje se i radi na samoj bazi tj. na serveru, i ne uzimam toliki broj zapisa kad se podaci prikazuju u gridu na formi, tj. onda ih uopce nije moguće uzeti iz rzumljivih razloga, al možda čovjek zbilja želi ispisat sve to (jako teško) i zato sam napravio tako da kad je u pitanju velik broj zapisa da se prethodno upozori, (znači nije nehotice kliknuo), i tu se ne radi o nikakvom post-procesiranju podataka, nego najobičnije datasetu koji kad sam ga napunio sa velikim brojem slogova, memorija koju je to zauzelo je ostala zauzeta i nakon zatvaranja izvještaja!
Citat:
GC ne pocisti memoriju bas skroz i ne onda kada bas ti to hoces
s ovim prvim se slažem, al primjer, ponekad mi oćisti (večinom) onoliko koliko je taj izvještaj po otvaranju zauzeoo, nakon zatvaranja istu količuni koju je on zauzeo oslobodi, a ponekad više?-to mi je čudno!?!
sa drugim djelom se ne slažem jer postoje metode za forsiranje sakupljanja smeča klase GC!
pozdrav!
----Roberto----