Thema: Delphi Pointer - Wie verwenden?

Einzelnen Beitrag anzeigen

Andreas L.
(Gast)

n/a Beiträge
 
#1

Pointer - Wie verwenden?

  Alt 2. Mär 2009, 20:57
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?
  Mit Zitat antworten Zitat