procedure TMainForm.LoadRecentFiles(Sender: TObject);
var
Reg: TRegistry;
RecentFile: TMenuItem;
i: Integer;
Begin
Reg := TRegistry.Create;
Try
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey(<font color="blue">'Software\Program\RecentFiles'</span>, False);
For i := 1 To StrToInt(Reg.ReadString(<font color="blue">'Count'</span>)) Do
Begin
RecentFile := TMenuItem.Create(MainForm.LastOpenedMItem);
RecentFile.Caption := Reg.ReadString(<font color="blue">'File'</span> + IntToStr(i));
RecentFile.OnClick := OpenRecentFile;
End;
Finally
Reg.Free;
End;
end;
procedure TMainForm.OpenRecentFile(Sender: TObject);
var
FFileName: String;
begin
If (Sender is TMenuItem) Then
Begin
FFileName := (Sender as TMenuItem).Caption;
OpenFile(FFileName);
End Else Exit;
end;
Pierwsza procedura służy do załadowania listy ostatnio otwieranych plików z rejestrów do menu (procedura LoadRecentFiles), a druga ma za zadanie otwarcie tego pliku (i wrzucenie go do SynEdit) - jest wpisana w onClick. A problem jest następujący:
po skompilowaniu programu w menu: Plik|Ostatnio otwierane nie ma nic;
Czy możecie mi powiedzieć gdzie tu jest błąd i jak go ewentualnie poprawić, lub zastąpić inną procedurą [???] [???] [???]