Hello, i have this code who ive been using whitout any problems. and then suddenly at says acces violation at address 004b84 in module

"SecurityScreensaver.exe" when i trie to save a tstringlist to a file.

this is how the code looks

procedure TForm7.Button8Click(Sender: TObject);
var s : tstringlist;
begin
  savedialog1.Title := 'Save image list to file (PS. Remember to add the extension name (etc. *.sss) to the end of the file';

  // Only allow existing files to be selected
  savedialog1.Options := [ofFileMustExist];

  // Allow only *.bmp *.jpeg/jpg *.ico
  savedialog1.Filter := 'All Supportet files|*.Txt; *.SSS|Text files|*.txt|Security Screen Saver File|*.SSS';

  // Select All supportet formats
  savedialog1.FilterIndex := 3;

  // Display the open file dialog
  if savedialog1.Execute then
    begin
      S := TStringList.Create;
      for i := 0 to ListView1.Items.Count do
        begin
          S.Add(ListView1.Items[i].Caption); {This is where the error occurs}
        end;
        S.SaveToFile(savedialog1.FileName);
        S.Free;
        multipleimages := true;
        multipleimagesdes := savedialog1.FileName
    end
  else
    begin
      multipleimages := false;
        multipleimagesdes := 'None';
    end;
end;

Any help would be appreciated,

Best Regards,
Darkyere

Edited 3 Years Ago by Nick Evan: Fixed formatting

Implies your stringlist creation didnt work correctly. or that listview1.items.Caption is not assigned.

i found the answer elsewhere

for i := 0 to Listbox.Items.Count - 1 do

is the corrected problem

Implies your stringlist creation didnt work correctly. or that listview1.items.Caption is not assigned.

thank you for the answer btw.

I appreciated the time u used to see where the problem may have been.

Best regards,
darkyre

Despite missing the lack of -i what I said still stands, as of course item was 1 too high :) so wasnt defined .. :) but then I guess thats partly what debuggings for :)

This article has been dead for over six months. Start a new discussion instead.