Abend,
ich habe einer Form zwei Methode verpasst. Einmal LoadValues(FileList TFiles); und SaveValues(FileList: TFiles); (TFiles ist eine TObjectList) Jetzt soll sich das Form beim laden merken, welche Dateiliste übergeben wurde und diese dann zum speichern verwenden. So sieht mein Code bisher aus:
Delphi-Quellcode:
type
TfrmCookieFiles = class(TForm)
lblFiles: TLabel;
lstFiles: TListView;
btnOK: TButton;
procedure LoadValues(FileList: TFiles);
procedure SaveValues(FileList: TFiles);
procedure btnOKClick(Sender: TObject);
private
{ Private-Deklarationen }
public
FFileList: Pointer;
end;
var
frmCookieFiles: TfrmCookieFiles;
implementation
{$R *.dfm}
procedure TfrmCookieFiles.btnOKClick(Sender: TObject);
begin
SaveValues(@FFileList);
lstFiles.Clear;
Close;
end;
procedure TfrmCookieFiles.LoadValues(FileList: TFiles);
var
i: Integer;
begin
FFileList := @FileList;
for i := 0 to FileList.Count -1 do
begin
with lstFiles.Items.Add do
begin
Caption := FileList[i].Title;
SubItems.Add(FileList[i].Profile);
SubItems.Add(FileList[i].FileName);
Checked := FileList[i].Checked;
end;
end;
end;
procedure TfrmCookieFiles.SaveValues(FileList: TFiles);
var
i: Integer;
begin
for i := 0 to lstFiles.Items.Count -1 do
FileList.GetFileByFileName(lstFiles.Items[i].SubItems[1]).Checked := lstFiles.Items[i].Checked;
end;
Das laden klappt auch einwandfrei, beim Speichern passiert leider nichts. Nehme ich bei SaveValues(@FFileList); das @ weg, kommt eine
AV. Was mache ich falsch?