Ross,

Two things.

1. What has access to these items ? Could a thread be altering these items
out from beneath you  ? (I noticed in a previous email from you in July that
you are working with threads).
2. Why not make the code a little safer

e.g.

If (length(Items.SubItems) > 2) then 
begin
  Result := StringReplace(Result,'%a',Item.Caption,[rfReplaceAll]);
  Result := StringReplace(Result,'%t',Item.SubItems[0],[rfReplaceAll]);
  Result := StringReplace(Result,'%s',Item.SubItems[1],[rfReplaceAll]);
  Result := StringReplace(Result,'%c',Item.Subitems[3],[rfReplaceAll]);
End
Else
Begin
  What the hell am I doing trying to access an array element that does not
exist.
End;



I have one user of my software which is experiencing an occasional access
violation in a routine which is simply reading some data stored in a
ListView.  The items in the listview are static and not changing at the
time.  There are always 5 columns of data, the Caption, and 4 SubItems.

The function simply replaces some parameters in a user formatted string with
data as follows.
 

Not very efficient but nevermind.

The first line always works.  Item.Caption gets replaced correctly every
time and never crashes.  If an Access Violation occurs, it's usually on the
2nd line, but sometimes this also works, and the crash occurs on the 3rd
line.  I've not seen a crash on the 4th line.

The items were loaded at least 20 minutes prior to this function being
called, so it's not a matter of the ListItem being deleted or created at the
same time.

It's completely beyond me.  Are there any known issues with ListViews in
Delphi 7, or any other ideas?

Thanks,
Ross.


_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject:
unsubscribe


_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject:
unsubscribe


_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject: unsubscribe

Reply via email to