Hi David

At what point do you free the list? At the end of Execute() or in an
OnTerminate() event handler?

Todd.

----- Original Message ----- 
From: "David McNeill" <[EMAIL PROTECTED]>
To: "Multiple recipients of list delphi" <[EMAIL PROTECTED]>
Sent: Thursday, September 11, 2003 4:01 PM
Subject: RE: [DUG]: TStringList or Memory error.


> Indy HTTP creates a new thread for each web request.
>
> At the start of that new thread I create the stringlist, then call the
> processing procedure that use it.
>
> What gets me is how it can work for 700 cycles (ie the code has to be
> correct), then tip over.
>
> It must be a more dynamic memory allocation related issue, I just have
> no idea how to debug that.
>
>
>
>
>
>
>
> David McNeill
> McPond eCommerce Software
> [EMAIL PROTECTED]
> Buchanan Road
> Franklin
> New Zealand
> Phone 09 292 7212
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> Behalf Of Phil Middlemiss
> Sent: Thursday, 11 September 2003 1:42 p.m.
> To: Multiple recipients of list delphi
> Subject: Re: [DUG]: TStringList or Memory error.
>
> If the stringlist belongs to the thread then you shouldn't need a
> critical
> section. But if you are accessing the StringList in an event from the
> Indy
> components when data arrives then you may still need a critical section
> - I
> can't remember if the Indy components use the same or a different thread
> for
> each event notification.
>
> Phil.
> ----- Original Message ----- 
> From: "David McNeill" <[EMAIL PROTECTED]>
> To: "Multiple recipients of list delphi" <[EMAIL PROTECTED]>
> Sent: Thursday, September 11, 2003 1:30 PM
> Subject: RE: [DUG]: TStringList or Memory error.
>
>
> > Thanks for the pointers...
> >
> > 1) Are you using interfaces? If so, check that the referenced object
> > hasn't
> > been relased.
> >
> > .. No interfaces
> >
> >
> > 2) Have you got your code that references the stringlist wrapped up in
> a
> > critical section?
> >
> > .. Shouldn't need to because it's threadvar - the thread can write to
> > the string list any time it feels like it, it has it's own instance of
> > the stringlist.
> > Is my assumption correct?
> >
> >
> > 3) Are you trying to access an item in the list that doesn't exist
> (eg,
> > MyList[4] when MyList only contains 4 items - remember that
> TStringList
> > is 0
> > based)?
> >
> > .. Only using .add    Generally I then use .text then .clear  , so no,
> > not an indexing issue.
> >
> >
> >
> >
> >
> >
> >
> > These are probably all obvious ones you have already checked, but you
> > didn't
> > say what you had checked or not.
> >
> > Phil.
> > ----- Original Message ----- 
> > From: "David McNeill" <[EMAIL PROTECTED]>
> > To: "Multiple recipients of list delphi" <[EMAIL PROTECTED]>
> > Sent: Thursday, September 11, 2003 11:56 AM
> > Subject: [DUG]: TStringList or Memory error.
> >
> >
> > > This is a nasty one I can't get to the bottom of, so any clues or
> tips
> > > would be appreciated.
> > >
> > > Fundamental problem: Access Violation on accessing a stringlist.
> > >
> > > Situation: Database update process iterates 700+ times, doing the
> same
> > > thing, before tipping over.
> > >
> > > It's like the tstringlist "disappears" for some unknown reason.
> > >
> > > I use the same method in thousands of other lines, and never fails.
> > >
> > > Breaks on two servers at the customers place, but not on my dev
> > server.
> > >
> > >
> > > Multi-threaded tray app, using Indy http server.
> > >
> > >
> > > Snips:
> > >
> > >
> > > Main.pas
> > > threadvar
> > >   tlResult:TStringlist;
> > >
> > > Main.pas
> > > Procedure TimerExecute;
> > > Tlresult:=tstringlist.create;
> > >
> > > DoDatabaseProcessing;
> > >
> > >
> > > Database.pas
> > > Procedure DoDatabaseProcessing;
> > > While not database.eof do begin
> > >   .. hundreds of lines
> > >   tlresult.add('Ok: Processed item '+IntToStr(RecordNo));  // access
> > > violation
> > > end;
> > >
> > >
> > >
> > >
> > > I tried descending tstringlist and putting in a log on
> > BeforeDestruction
> > > , but it does not appear the stringlist is explicitly being
> destroyed.
> > >
> > > It is more like something else is clobbering it's memory, and it is
> > > "disappearing" at some point.
> > >
> > > Any help appreciated.
> > >
> > >
> > > David McNeill
> > > McPond eCommerce Software
> > > [EMAIL PROTECTED]
> > > Buchanan Road
> > > Franklin
> > > New Zealand
> > > Phone 09 292 7212
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> ------------------------------------------------------------------------
> > --
> > -
> > >     New Zealand Delphi Users group - Delphi List -
> > [EMAIL PROTECTED]
> > >                   Website: http://www.delphi.org.nz
> > > To UnSub, send email to: [EMAIL PROTECTED]
> > > with body of "unsubscribe delphi"
> > > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
> > >
> >
> >
> >
> ------------------------------------------------------------------------
> > ---
> >     New Zealand Delphi Users group - Delphi List -
> [EMAIL PROTECTED]
> >                   Website: http://www.delphi.org.nz
> > To UnSub, send email to: [EMAIL PROTECTED]
> > with body of "unsubscribe delphi"
> > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
> >
> >
> >
> >
> ------------------------------------------------------------------------
> --
> -
> >     New Zealand Delphi Users group - Delphi List -
> [EMAIL PROTECTED]
> >                   Website: http://www.delphi.org.nz
> > To UnSub, send email to: [EMAIL PROTECTED]
> > with body of "unsubscribe delphi"
> > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
> >
>
>
> ------------------------------------------------------------------------
> ---
>     New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
>                   Website: http://www.delphi.org.nz
> To UnSub, send email to: [EMAIL PROTECTED]
> with body of "unsubscribe delphi"
> Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/
>
>
>
> --------------------------------------------------------------------------
-
>     New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
>                   Website: http://www.delphi.org.nz
> To UnSub, send email to: [EMAIL PROTECTED]
> with body of "unsubscribe delphi"
> Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/


---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED] 
with body of "unsubscribe delphi"
Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/

Reply via email to