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.freepascal.org/pipermail/lazarus/attachments/20130617/497229a8/attachment.html>
