Cita:
Empezado por duilioisola
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
en el Evento onclose ya que me dice que CaFree no esta declarado.