Da um olhada no componente EurekaLog ... passa até email quando ocorre um erro,
inclusive com a imagem do erro.
Gerson
Ricardo César Cardoso [EMAIL PROTECTED] escreveu:
Extraido do Dicas e Truques de Delphi v.2.7:
637 - Função para gerar Log de Erros
function SaveLogError(Const AUnitError, ASimbolError, ADescription, ATypeError,
ASQLError, AInsError: string): integer;
var
VMemory: TMemoryStatus;
VLogFile: TextFile;
VLogFileName: string;
vcount : Integer;
begin
VMemory.dwLength := SizeOf(TMemoryStatus);
GlobalMemoryStatus(VMemory);
VLogFileName := format('%spdferror.log',[GPathFile]);
try
AssignFile(VLogFile,VLogFileName);
if FileExists(VLogFileName) then
begin
Append(VLogFile);
Writeln(VLogFile,'');
Writeln(VLogFile,'--');
Writeln(VLogFile,'');
end
else
begin
Rewrite(VLogFile);
Writeln(VLogFile,'CABTEC - Soluções em códigos de barras');
Writeln(VLogFile,format('Fone %s - E-Mail: [EMAIL
PROTECTED]','(0xx31)3295-0555']));
Writeln(VLogFile,'Rua Araguari, nº 358/16º andar - Barro Preto');
Writeln(VLogFile,'20190-110 - Belo Horizonte - MG');
Writeln(VLogFile,'==');
Writeln(VLogFile,'');
end;
Writeln(VLogFile,format('DATE/TIME: %s',[DateTimeToStr(Now)]));
Writeln(VLogFile,format('Unit Error...: %s',[AUnitError]));
Writeln(VLogFile,format('Call Symbol..: %s',[ASimbolError]));
Writeln(VLogFile,format('Error type...: %s',[ATypeError]));
Writeln(VLogFile,format('Description..: %s',[ADescription]));
Writeln(VLogFile,format('SQL Error: %s',[ASQLError]));
Writeln(VLogFile,format('Instruction error: %s',[AInsError]));
Writeln(VLogFile,'');
Writeln(VLogFile,format('Memory free..: %.0f
bytes',[(VMemory.dwAvailPhys / 1024)])); // bytes livres de memória física
Writeln(VLogFile,format('Total PageFile...: %.0f
bytes',[(VMemory.dwTotalPageFile / 1024)])); // bytes livres de paginação de
arquivo // bytes de paginação de arquivo
Writeln(VLogFile,format('Avail PageFile...: %.0f
bytes',[(VMemory.dwAvailPageFile / 1024)])); // bytes em uso de espaço de
endereço
Writeln(VLogFile,format('Total Virtual ...: %.0f
bytes',[(VMemory.dwTotalVirtual / 1024)]));
Writeln(VLogFile,format('Avail virtual free...: %.0f
bytes',[(VMemory.dwAvailVirtual / 1024)])); // bytes livres
CloseFile(VLogFile);
result := IOResult;
except
result := IOResult;
result := -1;
end;
end;
para chamá-la faça assim:
try
Post;
result := True;
except
on E: Exception do
begin
SaveLogError('Unit_nota','function TForm_Nota.SetSaveItensData: boolean',
E.Message, E.ClassName, '', 'Post');
Application.MessageBox('Ocorreu um erro ao gravar os dados na tabela de
ITENS!',CCAPTIONAPPLICATIONTITLE,mb_Ok + mb_IconStop + mb_DefButton1 +
mb_applmodal);
Cancel;
result := False;
break;
end;
end;
Basta adaptar as suas necessidades.
Espero que seja útil.
Atte,
Ricardo.
Doretto [EMAIL PROTECTED] escreveu: Uso delphi5 e gostaria de registrar os
erros de Sistema em um arquivo texto.
Como eu faria isto ?
Doretto
[As partes desta mensagem que não continham texto foram removidas]
_
-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!
[As partes desta mensagem que não continham texto foram removidas]
-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento!
[As partes desta mensagem que não continham texto foram removidas]