Hola.
Fijate si esta idea te sirve de base, consiste en crear una unidad que se deberá incluir en todos los formularios:
Código Delphi
[-]
unit uSaveForm;
interface
uses SysUtils, Classes;
procedure SaveOpenForm(const FormName: string);
implementation
procedure SaveOpenForm(const FormName: string);
const
FNAME = 'OpenForms.txt'; var
TS: TStrings;
begin
TS := TStringList.Create;
try
if FileExists(FNAME) then
TS.LoadFromFile(FNAME);
TS.Add(FormName + ' - ' + FormatDateTime('dd/mm/yyyy hh:mm:ss',Now));
TS.SaveToFile(FNAME);
finally
TS.Free;
end;
end;
end.
El procedimiento
SaveOpenForm guardará el nombre del formulario mas la fecha y hora en que se realizó la acción.
Luego deberás llamar al procedimiento en el evento
OnShow de cada formulario, ejemplo:
Código Delphi
[-]
...
implementation
uses ..., uSaveForm;
procedure TCualquierForm.FormShow(Sender: TObject);
begin
SaveOpenForm(Self.Name);
...
end;
Saludos