Ver Mensaje Individual
  #13  
Antiguo 27-03-2023
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Reputación: 2
giantonti1801 Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
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;
amigo no logro entender que estoy haciendo mal tengo un form llamado login a la cual usuario y contraseña y entro en el from principal sin ningun problema:
Código Delphi [-]
FormInicio := TFormInicio.Create(Application);
                      Self.Free;
                      FormInicio.ShowModal;
ok luego de eso tengo diferente from que debo abrir segun la opcion selecionada (Button)
Entonces el siguiente from que abro lo abro sin singun problema:
Código Delphi [-]
FormMedico := TFormMedico.Create(Self);
    try
    FormMedico.ShowModal;
    finally
    FormMedico.Free;
    end;
oh continuo: en este fron tengo un botton que al presionarlo deberia abrir otro from donde me muestra una pantalla de busqueda ect. y alli tengo problema ya que me da access violation.
Código Delphi [-]
begin
  FormBuscarMedico:=TFormBuscarMedico.Create(self);
  try
  FormBuscarMedico.ShowModal;
  finally
  FormBuscarMedico.Free;
end;

end;
y alli finalemente se me tranco el juego ahora tambien nunca pude colocar
Código Delphi [-]
Action = caFree;
en el Evento onclose ya que me dice que CaFree no esta declarado.
Responder Con Cita