[delphi]判断应用程序是否成功升级的问题

Radar2006 2008-05-31 09:28:21

var
flag: boolean; //升级标志

{$R *.res}

begin
falg := false;

//自动升级
if FileAge('\\abc\a.exe') > FileAge(ParamStr(0)) then
begin
if application.MessageBox('是否升级?', 'Upgrade Time!', 1) = 1 then
begin
falg := true;
... 升级过程略...
end;
end;

application.Initialize;
try
begin
if flag then
application.MessageBox('成功升级.', '提示', 1)
else
application.MessageBox('没有升级.', '提示', 1);

frmLogin := TfrmLogin.Create(application);
frmLogin.ShowModal;
application.Run;
end
except
...
end;

end.

为什么红色部分不执行?
...全文
65 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
大大怪老张 2008-06-01
  • 打赏
  • 举报
回复
不执行? 不可能吧,除非你之前的代码部分出了异常,导致程序结束掉了,不然这个 if else 怎么会不执行呢?

不知道你在升级的时候都干了什么。

另外系统有定义好的见名知意的常量,你不用,非得用纯数值,看着不觉得别扭嘛?

if FileAge('\\abc\a.exe') > FileAge(ParamStr(0)) then
begin
if application.MessageBox('是否升级?', 'Upgrade Time!', MB_YESNO + MB_ICONQUESTION1) = 1 MB_YES then
begin
falg := true;
... 升级过程略...
end;
end;


-------
下面至少会执行 else 部分的代码

if flag then
application.MessageBox('成功升级.', '提示', 1)
else
application.MessageBox('没有升级.', '提示', 1);



f8 单步跟一下吧
5207 2008-05-31
  • 打赏
  • 举报
回复
不执行???

你跟踪一下代码.确定是否你的升级过程已经通过.

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧