I never thought at this problem.
Thanks for that FastMM. I will try it.
Anyway, I'm still looking for a much simpler solution, for example a function 
that can build long
strings without fragmenting the memory.
My string will not go above 10MB which I think is not so big.


--- Fastream Technologies <[EMAIL PROTECTED]> wrote:

> Hello Human,
> 
> You've run into memory fragmentation. I would sugest you to use NexusMM 
> ($120) or FastMM (free). Sorry, I cannot remember the URLs. Google is your 
> friend.
> 
> Regards,
> 
> SZ
> 
> ----- Original Message ----- 
> From: "Human" <[EMAIL PROTECTED]>
> To: "Delphi-Talk Discussion List" <[email protected]>
> Sent: Friday, March 03, 2006 1:50 PM
> Subject: Strings in Delphi should be 2GB, right?
> 
> 
> > Strings in Delphi should be able to store 2GB, right?
> > I got an exception after 4MB.
> >
> >
> >
> > I have to create a report about 800-1000 files in a folder.
> > I've tried to write the report in a TRichEdit component but it was TO SLOW 
> > because the refresh
> > after each line I added. BeginUpdate didn't help at all. Actually it has 
> > no effect.
> >
> > So I decided to write it directly on the HDD as a HTML file.
> > I made a new form and a global variable (called Raport) where I store the 
> > HTML:
> >
> > var Raport: string;
> > procedure TFrmHTML.AddLine(s: String);
> > begin
> > Raport:= Raport+ CRLF+ '<br>'+ s;
> > end;
> >
> > At the end of the program I discharge the content of that variable in a 
> > file.
> > The problem is that after exactly 4MB it gives me an EOutOfMemory error.
> > It appears when I try to add more characters to that Raport variable.
> > The CPU window shows me that the exception was 'born' in the @StrSetLength 
> > function which is not
> > documented in my Help file (Delphi 7).
> > After this the program quit the main loop (leaving few file not 
> > processed).
> >
> > What it is strange it the fact that after the exception is raised and 
> > closed, I continue to write
> > to that variable (the end of the HTML </body> </html>) and it accept 
> > without rising the exception.
> > Finally the string is saved gracefully on the HDD.
> >
> > I have 768 BM of RAM in my computer. All the time AT LEAST 250MB are free 
> > (I use CacheMan XP to
> > monitor my memory).
> > One hour ago the program worked ok, till the end (it processed all 822 
> > files).
> >
> > The memory requirements were:
> > After it finished: 37MB
> > Peak memory      : 39MB
> > Virtual mem      : 32MB
> > In my system the page file usage was 565MB (I had other huge applications 
> > running).
> >
> >
> > Why it runs out of memory? It isn't supposed to use VM when it runs out of 
> > real memory (which it
> > isn't my case anyway).
> > What will happen if I want to process more that 1000 files?
> >
> >
> > PS: I don't want to use a third party Report component. I've took a look 
> > at few free and trial
> > components.
> > They where to expensive, or to slow, or much to complex (and in the same 
> > time big in size).
> > I just want to write line of text with monospaced characters/font and some 
> > letters should be
> > colored in red. That's all.
> >
> >
> > ...and the traveler died, stroked by the beauty of the landscape.
> >
> > THE MORNING OF THE MAGICIANS
> > Louis Pawels & Jacques Bergier
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam protection around
> > http://mail.yahoo.com
> > __________________________________________________
> > Delphi-Talk mailing list -> [email protected]
> > http://www.elists.org/mailman/listinfo/delphi-talk 
> 
> __________________________________________________
> Delphi-Talk mailing list -> [email protected]
> http://www.elists.org/mailman/listinfo/delphi-talk
> 


...and the traveler died, stroked by the beauty of the landscape.

THE MORNING OF THE MAGICIANS
Louis Pawels & Jacques Bergier

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
__________________________________________________
Delphi-Talk mailing list -> [email protected]
http://www.elists.org/mailman/listinfo/delphi-talk

Reply via email to