[Lazarus] SIGSEGV on lclrescache.pas

Dave Coventry dgcoventry at gmail.com
Mon Jun 17 12:17:58 CEST 2013


I have a unit in which I'm parsing a large text file.

I have around 50 (or more!) IF statements as below:

if Pos('  Center Point',OdReadstrings.Strings[i])>0 then
                val+=',PT='+getParam(PChar(OdReadstrings.Strings[i]))
else if Pos('  Custom Scale',OdReadstrings.Strings[i])>0 then
                val+=',SC='+getParam(PChar(OdReadstrings.Strings[i]))
else if Pos('  Check',OdReadstrings.Strings[i])=1 then
                val+=',FZ='+getParam(PChar(OdReadstrings.Strings[i]))
else if Pos('  Min Extents',OdReadstrings.Strings[i])>0 then
                val+=',MN='+getParam(PChar(OdReadstrings.Strings[i]))
else if Pos('  Max Extents',OdReadstrings.Strings[i])>0 then  etc, etc.

No error is generated from this code, per se, but on closing the programme
there is an External SIGSEVV genterated in lclrescache.pas at line 186.

The offending line:

Cache.RemoveItem(Self);

Can anyone see what's going on here? Alternatively, is there a better way
of parsing a large text file for phrases?

Many thanks,

Dave Coventry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20130617/497229a8/attachment-0002.html>


More information about the Lazarus mailing list