判断两个文件修改日期是否一致,不一致则运行指定程序.该怎么处理

判断两个文件修改日期是否一致,不一致则运行指定程序.
下面的代码实现标题所写的功能,可现在有一个问题,同样的程序,放不局域网上两台不同的机器,有一台电脑在两个文件修改日期一致的情况下,也要运行指定的程序.不知道为什么,另一台电脑没这个问题,只是在修改日期不同的时候才运行指定的程序.
解决问题者,给100分.
TextFilePath:=ExtractFilePath(Application.ExeName)+ '\copyexe.exe ';
  i:=1;
    //判断文件是否有更新
    GetFileTime( '\\chara293\fas\itat\chara.exe ');
    a:=T2;
    GetFileTime(PChar(ExtractFilePath(Application.ExeName)+ '\chara.exe '));
    b:=T2;
    //复制文件
    if   a <> b   then
    ShellExecute(0,   'open ',PChar(ChangeFileExt(TextFilePath, '.exe ')),   nil,   nil,   SW_hide);

procedure   TInitializeForm.GetFileTime(const   Tf:string);
{   获取文件时间,Tf表示目标文件路径和名称   }
const  
Model= 'yyyy/mm/dd,hh:mm:ss ';   {   设定时间格式   }
var  
Tp:TSearchRec;   {   申明Tp为一个查找记录   }

begin
FindFirst(Tf,faAnyFile,Tp);   {   查找目标文件   }
T1:=FormatDateTime(Model,
CovFileDate(Tp.FindData.ftCreationTime));
{   返回文件的创建时间   }
T2:=FormatDateTime(Model,
CovFileDate(Tp.FindData.ftLastWriteTime));
{   返回文件的修改时间   }
T3:=FormatDateTime(Model,Now);
{   返回文件的当前访问时间   }
FindClose(Tp);
end;
function   TInitializeForm.CovFileDate(Fd:_FileTime):TDateTime;
{   转换文件的时间格式   }  
var  
Tct:_SystemTime;  
Temp:_FileTime;  
begin  
FileTimeToLocalFileTime(Fd,Temp);
FileTimeToSystemTime(Temp,Tct);
CovFileDate:=SystemTimeToDateTime(Tct);
end;



------解决方案--------------------
//修改一下你的GetFileTime写成一个函数,测试一下你写的函数,我这里返回结果是true证明没有什么问题,问题没有出现在这两个函数上

program Project1;

{$APPTYPE CONSOLE}

uses
Windows,
SysUtils;
var t1,t2,t3,a,b:string;

function CovFileDate(Fd:_FileTime):TDateTime;
var
Tct:_SystemTime;
Temp:_FileTime;
begin
FileTimeToLocalFileTime(Fd,Temp);
FileTimeToSystemTime(Temp,Tct);
CovFileDate:=SystemTimeToDateTime(Tct);
end;

Function GetFileTime(const Tf:string):string;
{ 获取文件时间,Tf表示目标文件路径和名称 }
const
Model= 'yyyy/mm/dd,hh:mm:ss '; { 设定时间格式 }
var
Tp:TSearchRec; { 申明Tp为一个查找记录 }
begin
FindFirst(Tf,faAnyFile,Tp); { 查找目标文件 }
T1:=FormatDateTime(Model,
CovFileDate(Tp.FindData.ftCreationTime));
{ 返回文件的创建时间 }
T2:=FormatDateTime(Model,
CovFileDate(Tp.FindData.ftLastWriteTime));
{ 返回文件的修改时间 }
T3:=FormatDateTime(Model,Now);
{ 返回文件的当前访问时间 }
FindClose(Tp);
Result:=T2;
end;
begin
if GetFileTime( 'd:\123\123.JPG ') = GetFileTime( 'd:\123\123.JPG ') then
writeln( 'true ' )
else
writeln( 'false ' );
end.

------解决方案--------------------
获取时间出错了吧
------解决方案--------------------
t2 是全局变量?封装的不好,而且如果只是要比较没有必要搞成string,还要去格式化他的格式
------解决方案--------------------
没有什么问题,设计的不合理

如果你将GetFileTime修改成LoadFileTime,然后将t1,t2,t3写成属性,估计就没有人说你了
------解决方案--------------------
那就给分吧,哈哈