Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

AV beim Schliessen von Form mit ShellListview

  Alt 19. Apr 2007, 15:31
Ich habe mir gerade einen eigenen SaveDialog gebastelt mit der ShellComboBox und dem ShellListview. Nur immer, wenn ich ihn schliessen will, bekomme ich eine AV:
Delphi-Quellcode:
procedure TfrmSaveTemplate.btnOKClick(Sender: TObject);
begin
  FAuthor := edtAuthor.Text;
  FDescription := memDescription.Text;
  FFilename := edtFile.Text;
  if ShellListview1.SelectedFolder.IsFolder then
    FFilename := ShellListview1.SelectedFolder.PathName + '\' + edtFile.Text
  else
    FFilename := ShellListview1.SelectedFolder.PathName;
end;

procedure TfrmSaveTemplate.edtFileChange(Sender: TObject);
begin
  btnOK.Enabled := edtFile.Text <> '';
end;

function TfrmSaveTemplate.Execute: Boolean;
begin
  Result := Self.ShowModal = mrOK;
end;

procedure TfrmSaveTemplate.ShellListView1Click(Sender: TObject);
var
  Filename : WideString;
begin
  if ShellListView1.ItemIndex > -1 then
  begin
    Filename := ShellListview1.SelectedFolder.PathName + ShellListview1.Items[ShellListview1.ItemIndex].Caption;
    if not ShellListview1.SelectedFolder.IsFolder then
      edtFile.Text := ExtractFilenameW(Filename);
  end;
end;
Und Aufruf:
Delphi-Quellcode:
var
  TemplateFile : TTemplateIO;
begin
  if frmSaveTemplate.Execute then
  begin
    ShowMessage(frmSaveTemplate.Filename + ', ' + frmSaveTemplate.Author + ', ' + frmSaveTemplate.Description);
    TemplateFile := TTemplateIO.Create(False);
    TemplateFile.FreeOnTerminate := True;
    TemplateFile.Author := frmSaveTemplate.Author;
    TemplateFile.Description := frmSaveTemplate.Description;
    TemplateFile.Page := ImageEnVect;
    TemplateFile.SaveToFile(frmSaveTemplate.Filename);
  end;
Was mache ich da falsch?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat