banjalukaforum.com

Dobrodošli na banjalukaforum.com
Danas je 16 Jun 2024, 04:23

Sva vremena su u UTC [ DST ]




Započni novu temu Odgovori na temu  [ 6 Posta ] 
Autoru Poruka
 Tema posta: Delphi (BDE)
PostPoslato: 23 Jan 2006, 12:49 
OffLine
Pripravnik
Pripravnik
Korisnikov avatar

Pridružio se: 14 Maj 2003, 19:01
Postovi: 164
Lokacija: Cupertino, CA
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

_________________
It's the terror of knowing
What this world is about


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 23 Jan 2006, 23:08 
OffLine
Početnik
Početnik

Pridružio se: 04 Nov 2004, 11:21
Postovi: 79
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.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 24 Jan 2006, 00:33 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 10 Feb 2002, 01:00
Postovi: 1310
Lokacija: Wien, Österreich
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.

_________________
Pizzy sagt:
zlaja otiso u kurac
Pizzy sagt:
postao je umoran


Vrh
 Profil  
 
 Tema posta: Odg
PostPoslato: 24 Jan 2006, 08:55 
OffLine
Pripravnik
Pripravnik
Korisnikov avatar

Pridružio se: 08 Nov 2004, 08:54
Postovi: 211
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...


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 25 Jan 2006, 10:40 
OffLine
Pripravnik
Pripravnik
Korisnikov avatar

Pridružio se: 14 Maj 2003, 19:01
Postovi: 164
Lokacija: Cupertino, CA
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 :D.

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.

_________________
It's the terror of knowing
What this world is about


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 25 Jan 2006, 11:06 
OffLine
Početnik
Početnik

Pridružio se: 04 Nov 2004, 11:21
Postovi: 79
Mozes da obradis dogadjaj OnFilterRecord ili da koristis Query komponentu.
Bolje jedna sa 40 polja.


Vrh
 Profil  
 
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Odgovori na temu  [ 6 Posta ] 

Sva vremena su u UTC [ DST ]


Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 3 gostiju


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
Powered by phpBB® Forum Software © phpBB Group
Hosting BitLab
Prevod - www.CyberCom.rs