Ver Mensaje Individual
  #11  
Antiguo 26-03-2023
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Con respecto al log te sugiero ir a lo más simple:

En el DataModule principal o en una unidad compartida por toda la aplicación creas una función que guarde en un fichero lo que le envíes.
Yo lo tengo así en un DataModule principal. Te crea un fichero .log con el mismo nombre que la aplicación.
Código Delphi [-]
procedure TDMMain.Log(s: string);
{$IFDEF Debug}
var
  F : TextFile;
  FileName : string;
{$ENDIF}
begin
  {$IFDEF Debug}
  FileName := ChangeFileExt(Application.ExeName, '.log');
  AssignFile(F, FileName);
  try
     Append(F);
  except
     try
        Rewrite(F);
     except
        on e: Exception do
           ShowMessage('Error al abrir fichero : ' + FileName + #13#10 + e.Message);
     end;
  end;
  WriteLn(F, FormatDatetime('[yyyy-mm-dd hh:nn:ss.zzz] ', Now) + s);
  CloseFile(F);
  {$ENDIF}
end;

Luego en los formularios, en cualquier sitio puedes poner cosas como estas:
Código Delphi [-]
procedure TFMPrincipal.FormCreate(Sender: TObject);
begin
  inherited;
  DMMain.Log('FormCreate - ' + Self.Name);
end;
Código Delphi [-]
procedure TFMPrincipal.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  Action = caFree;
  DMMain.Log('FormClose - ' + Self.Name);
end;
Código Delphi [-]
procedure TFMain.AArticulosExecute(Sender: TObject);
begin
  DMMain.Log('Accion - Abrir formulario de articulos');
  [...]
end;
Responder Con Cita