Ik heb problemen met een delphi database mdi applicatie die ik gemaakt heb.
Het is gemaakt in Delphi 7, maakt gebruik van Interbase en je kan er mee rapporten afdrukken. Het gaat dan om een rapport van bijv 100 pagina's (best veel info staat er op. Per pagina staan er 5 records op en ieder record bestaat uit +- 80 velden). Voor de rapporten maak ik gebruik van Fast Reports.
Het probleem is dat het op mijn pc gewoon perfect werkt, alleen op de pc waar het op moet gaan draaien werkt het juist niet goed (en dan gaat het alleen om het printen. Alle db acties gaan gewoon allemaal goed, echter het gaat niet super snel, maar goed dat kan je ook niet verwachten van zo'n oude pc).
Die pc is wel een zeer ouderwets ding: Pentium 1 233 Mhz met weinig geheugen (windows 98). Maar in princiepe moet zo'n applicatie toch gewoon nog op zo'n pc draaien?
Als ik nu op die oude pc een rapport van 100 pagina's probeer af te drukken, print die wel alle aantal a4'tjes wat die zou moeten doen, echter sommige hebben geen tekst (data) op het blad. Ik maak gebruik van zo'n wit / grijs / wit / grijs , enz... lijn voor elk record in de masterdata en die kloppen wel. Alleen de tekst zit er bij sommige niet bij. Dan een x aantal bladjes verder op zie je op eens weer wel een aantal blaadjes waar de tekst op staat, enz....
(Op mijn pc gaat het voor de duidelijkheid dus wel gewoon goed, geen enkel probleem).
Nu kan het dus mogelijk aan de oude pc liggen, of de laserprinter die gebruikt wordt (is ook niet echt de beste en heeft niet veel geheugen) of een combinatie van de oude pc en printer.
Maar nu ben ik dus aan het kijken of er dus mogelijk geheugen lekken zijn.
Ik maak op mijn pc gebruik van Windows XP. Als ik dan bij Windows taakbeheer kijk, gebruikt het programma direct bij het opstarten al ruim 11 mb zonder verder MDI client schermpjes te openen. Is dat al te veel of is dat gewoon normaal. (De gecompileerde exe is trouwens 5 mb).
Verder wat me op viel is dat wanneer ik een MDI child window open en vervolgens weer afsluit het geheugengebruik in de windows taakbeheer niet terug loopt. Is dat normaal, bijv omdat windows nog wat reserveert voor het programma of zou die weer op het niveau terug moeten komen voordat ik dat mdi child window geopend heb? (en ik geef al het geheugen weer vrij bij het sluiten van de MDI child!)
Kan iemand mij enige tips geven, of is die pc voor zo'n applicatie niet geschikt? (wat ik me bijna niet kan voorstellen).
Het is gemaakt in Delphi 7, maakt gebruik van Interbase en je kan er mee rapporten afdrukken. Het gaat dan om een rapport van bijv 100 pagina's (best veel info staat er op. Per pagina staan er 5 records op en ieder record bestaat uit +- 80 velden). Voor de rapporten maak ik gebruik van Fast Reports.
Het probleem is dat het op mijn pc gewoon perfect werkt, alleen op de pc waar het op moet gaan draaien werkt het juist niet goed (en dan gaat het alleen om het printen. Alle db acties gaan gewoon allemaal goed, echter het gaat niet super snel, maar goed dat kan je ook niet verwachten van zo'n oude pc).
Die pc is wel een zeer ouderwets ding: Pentium 1 233 Mhz met weinig geheugen (windows 98). Maar in princiepe moet zo'n applicatie toch gewoon nog op zo'n pc draaien?
Als ik nu op die oude pc een rapport van 100 pagina's probeer af te drukken, print die wel alle aantal a4'tjes wat die zou moeten doen, echter sommige hebben geen tekst (data) op het blad. Ik maak gebruik van zo'n wit / grijs / wit / grijs , enz... lijn voor elk record in de masterdata en die kloppen wel. Alleen de tekst zit er bij sommige niet bij. Dan een x aantal bladjes verder op zie je op eens weer wel een aantal blaadjes waar de tekst op staat, enz....
(Op mijn pc gaat het voor de duidelijkheid dus wel gewoon goed, geen enkel probleem).
Nu kan het dus mogelijk aan de oude pc liggen, of de laserprinter die gebruikt wordt (is ook niet echt de beste en heeft niet veel geheugen) of een combinatie van de oude pc en printer.
Maar nu ben ik dus aan het kijken of er dus mogelijk geheugen lekken zijn.
Ik maak op mijn pc gebruik van Windows XP. Als ik dan bij Windows taakbeheer kijk, gebruikt het programma direct bij het opstarten al ruim 11 mb zonder verder MDI client schermpjes te openen. Is dat al te veel of is dat gewoon normaal. (De gecompileerde exe is trouwens 5 mb).
Verder wat me op viel is dat wanneer ik een MDI child window open en vervolgens weer afsluit het geheugengebruik in de windows taakbeheer niet terug loopt. Is dat normaal, bijv omdat windows nog wat reserveert voor het programma of zou die weer op het niveau terug moeten komen voordat ik dat mdi child window geopend heb? (en ik geef al het geheugen weer vrij bij het sluiten van de MDI child!)
Kan iemand mij enige tips geven, of is die pc voor zo'n applicatie niet geschikt? (wat ik me bijna niet kan voorstellen).