banjalukaforum.com https://banjalukaforum.com/ |
|
Delphi (BDE) https://banjalukaforum.com/viewtopic.php?f=18&t=18100 |
Stranica 1 od 1 |
Autoru: | SoLiDuS [ 23 Jan 2006, 12:49 ] |
Tema posta: | Delphi (BDE) |
Da li neko slucajno zna zasto mi program nakon nekog vremena pocinje usporavati (kao da se racunar umara) kad koristim paradox tabele i standardnu table komponentu? Zasto kad pokrenem program prvi put neke operacije (npr. lager, uzima iz jedne tabele i puni drugu tabelu nekim preracunatim vrijednostima) radi dosta brze, nego kad tu istu operaciju pokrenem nakon nekog vremena? Cini mi se da .db baza za number koristi float, da li to usporava? Moze li se kako napraviti sa single? Pozdrav |
Autoru: | S [ 23 Jan 2006, 23:08 ] |
Tema posta: | |
Bice da imas curenje memorije u programu. Negdje alociras neki bafer a nigdje ga ne oslobadjas ili ne oslobadjas neki objekat. Uporedi zauzece memorije programa kada ga pokrenes i nakon nekog vremena kada pocne da ussporava. Zauzece memorije za neki proces mozes da vidis u task manageru. Takodje obrati paznju na zauzece procesora i broj niti (threads) ako vrsish neko pozadinsko procesiranje. |
Autoru: | kefalo [ 24 Jan 2006, 00:33 ] |
Tema posta: | |
prvo sto mi pada na pamet je da ti neki proces ne zavrsava vec da se vrti cijelo vrijeme i to ti puni memoriju samim tim i opterecuje system. da li koristis Application.ProcessMessages? ako da onda ti je malo teze da skontas gdje se puni memorija.... a ako nisi koristio u projektu application.processmessages onda ti je malo lakse... kada pokrenes program uprati koliko memorije zauzima i koliko procesorsko vrijeme... zatim pocni da radis standardne stvari u programu i cijelo vrijeme prati sta se desava sa procesorskim vremenom i memorijom. trebalo bi samo da ti se javi gdje ti se ne oslobadja memorija i onda ti je samo da ispitas u kojoj metodi je greska. sto se tice paradoxa mislim da paradox za prvu kolonu tabele ne prihvata float vec samo int. Citiraj: Moze li se kako napraviti sa single?
sta si sa ovime mislio? ne bi bilo lose da kazes sta radis sa tabelama... kako vrsis prebacivanje? probaj da koristis watch list za nadgledanje promjenivih koje su ti sumnjive i onda postavi break point na pocetak koda koji ti se cini sumnjiv i kada pokrenes program dalje prati rad programa i vrijednosti promjenjivih u watch listi stiskajuci F7 ili F8 ... f7 ide u dubinu( u metode na koje naidje) a f8 ih preskace i drzi se tamo gdje je. |
Autoru: | RAbbit [ 24 Jan 2006, 08:55 ] |
Tema posta: | Odg |
Jednostavno u delphiju objekte nakon njihovog koristenja trebas unistiti da se uklone iz memorije inace oni ti ostaju u memoriji i usporavaju racunar. Pozivas metod destroy nakon zavrsetka rada ili npr. nakon rada sa formom Form1.free.... nil... Procitaj neke knjige o tome... |
Autoru: | SoLiDuS [ 25 Jan 2006, 10:40 ] |
Tema posta: | |
Nije curenje memorije, barem nije vidljivo. Napravio sam monitoring preko system monitora, i sve fino radi, bez page faults-a, prevelikog zauzeca memorije, jedino se procesor zakuca na 100. Nisam koristio process messages. Ma kazem paradox (barem kad se pravi preko Database Desktopa) za numericka polja podrazumjeva double (tako meni u delphiju pokazuje) a to mi ne treba. Obican single bi radio. Nije problem ni u promjenjivima.. Mozda zbog filtera? Zna li neko drugu metodu prikaza seta podataka osim Table1.Filter? Prebacujem standardnom petljom, for i:=1 to Table1.RecordsCount do Table2.AppendRecord(......); Na sta si mislio pod destroy, da uzmem Table1.destroy, kada zavrsim sa njom ili sta? Jer oslobadjanje formi mi nema puno smisla, a i nije moguce jer mi trebaju ![]() Da li je bolje imati jednu tabelu sa cca 40 polja ili 4 po 10? Lakse mi je raditi sa ovom sa 40 jer mi manji kod treba. Razmisljao sam da radim sa matricama, odnosno uzimam vrijednosti iz jedne tabele i umjesto da ih punim u drugu, ja punim matricu, ali mi jos nije jasno kako bi to prebacio u word ili quick report. A vjerovatno bi radio brze. |
Autoru: | S [ 25 Jan 2006, 11:06 ] |
Tema posta: | |
Mozes da obradis dogadjaj OnFilterRecord ili da koristis Query komponentu. Bolje jedna sa 40 polja. |
Stranica 1 od 1 | Sva vremena su u UTC [ DST ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |