Q&A

  • 지정된 파일의 생성일자가 바뀌는 이유..답변 부탁점 드리겠습니다.
우선 소스부터 올리겠습니다.

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)날짜로 표시가 됩니다.
왜 그러는지 이유를 찾지를 못하겠네요...무엇이 잘못된건지...
여러분의 도움 부탁드리겠습니다.
0  COMMENTS