우선 소스부터 올리겠습니다.
Procedure Tform_Main.FileModifyCheck(Sender: TObject);
var tFile : TextFile;
handle_File: THandle;
ftCreate : TFileTime;
ftLastAccess : TFileTime;
ftLastWrite : TFileTime;
filetime_4 : TFileTime;
lc : Integer;
Td : TDateTime;
FindData : TWin32FindData;
sourceFileCreate:String;
sourceLastWrite:String;
begin
handle_File := FileOpen(FilePathName, fmOpenRead);
GetFileTime(handle_File, @ftCreate, @ftLastAccess, @ftLastWrite);
sourceFileCreate:=GetLocalTime(ftCreate);
sourceLastWrite:=GetLocalTime(ftLastWrite);
GetBCCSaveInfo(nil); //-> ini에서 파일 정보 읽어오는 부분...
ShowMessage(sourceFileCreate + #13+''#10 + sourceLastWrite);
If Not (sourceFileCreate = LastDate ) Then
Begin
UpdateCreateDate(sourceFileCreate); //->ini에 최초생성일 저장
end
else
begin
If Not ( sourceLastWrite = WriteDate ) Then
Begin
UpdateLastWriteDate(sourceLastWrite); //->ini에 마지막 작성일저장
end
else
end;
end;
트레이 아이콘에 프로그램이 존재하면서 파일의 생성일자, 수정일자를
비교하여 수정사항이 있을경우 오라클에 저장하는 프로세서중에
생성일자, 수정일자를 비교하는 프로시져 입니다.
그런데 ShowMessage로 최초생성일자를 확인해보면
정상적으로 파일생성일자가 나타납니다. 그런데 위의 프로시져는
타이머에 의해 몇초 마다 한번씩 실행이 되는데 처음에는 정상으로
그 이후부터는 이상한(1968-01-01)날짜로 표시가 됩니다.
왜 그러는지 이유를 찾지를 못하겠네요...무엇이 잘못된건지...
여러분의 도움 부탁드리겠습니다.