Client 端自动升级

shijies 2009-02-23 08:23:52
将升级后的程序放在Server 机子中,Client 端就能自动下载更新。如果有
如此的Demo 程序,请发给我。谢谢
...全文
192 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ajmxj 2009-03-04
  • 打赏
  • 举报
回复
弄个三方控件
winnerxcf 2009-03-04
  • 打赏
  • 举报
回复
我有个现成的例子,因为我开发完你需求的软件~~
laomu 2009-02-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 shijies 的回复:]
引用 2 楼 laomu 的回复:
CBX RIA框架就是典型的客户端自动升级,这个框架几乎是国产多层框架中最好的一个,同时体现SmartClient和RIA思想,配合FastReport,能够很好的开发Web Report
这里是Demo:
Demo(需要客户端初始化):
http://117.21.247.37/cbx/AppSvr.dll/Splash.ao
这里是配合FastReport开发BS版Report的Demo:
http://117.21.247.37/cbx/AppSvr.dll/oc.ao

这个我不太清楚,BS的客户端是浏览器,升级什么?
[/Quote]
不仅能自动升级,而且还是BS架构的。
simon0809 2009-02-27
  • 打赏
  • 举报
回复
放在客户端的公共程式里.
执行表单或报表前调用该函数.如:
UpdateNewVersion('invp20301.fr3');
frxReportM.LoadFromFile(extractFilePath(Application.ExeName)+'\invp20301.fr3');
gwhdaxia 2009-02-27
  • 打赏
  • 举报
回复
要么自己做个服务器,

要么自己搞个web的服务器,通过网址去取文件
laomu 2009-02-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 shijies 的回复:]
如果是拨号上网,或是挂在局域网上的计算机(不在Internet上),含有Client 端自动升级功能的应用软件在启动后会怎样?
[/Quote]
照常使用。只不过服务器应该也在局域网。
五维思考 2009-02-27
  • 打赏
  • 举报
回复
最简单的办法是:

//获得需要升级的文件列表
MyStream := TMemoryStream.Create;
try
IdHTTP1.Get(FileNameURL, MyStream);
MyStream.SaveToFile(FileName);
MyStream.Free;
except
StatusBar1.Panels[0].Text := '错误:' + IdHTTP1.ResponseText;
MyStream.Free;
end;


这可不是最好的办法哦,如果想开发出象杀毒软件那样自动升级的程序,那可是相当麻烦的
shijies 2009-02-27
  • 打赏
  • 举报
回复
如果是拨号上网,或是挂在局域网上的计算机(不在Internet上),含有Client 端自动升级功能的应用软件在启动后会怎样?
shijies 2009-02-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 laomu 的回复:]
CBX RIA框架就是典型的客户端自动升级,这个框架几乎是国产多层框架中最好的一个,同时体现SmartClient和RIA思想,配合FastReport,能够很好的开发Web Report
这里是Demo:
Demo(需要客户端初始化):
http://117.21.247.37/cbx/AppSvr.dll/Splash.ao
这里是配合FastReport开发BS版Report的Demo:
http://117.21.247.37/cbx/AppSvr.dll/oc.ao
[/Quote]
这个我不太清楚,BS的客户端是浏览器,升级什么?
shijies 2009-02-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 simon0809 的回复:]
procedure UpdateNewVersion(FileName:String);
var
n1,n2: String;
f1,f2: Boolean;
h1,h2: Integer;
begin
// ACurrentPath,AServerPath: 系统public变量
n1 := ACurrentPath+FileName;
n2 := AServerPath+FileName;

f1 := FileExists(n1);
f2 := FileExists(n2);

if f1 and f2 then
begin
h1 := FileOpen(n1,fmOpenRead);
h2 := FileOpen(n2,fmOpenRead);

[/Quote]
这段代码应该是放在客户端?放在主窗体的formcreate事件代码中?
laomu 2009-02-26
  • 打赏
  • 举报
回复
CBX RIA框架就是典型的客户端自动升级,这个框架几乎是国产多层框架中最好的一个,同时体现SmartClient和RIA思想,配合FastReport,能够很好的开发Web Report
这里是Demo:
Demo(需要客户端初始化):
http://117.21.247.37/cbx/AppSvr.dll/Splash.ao
这里是配合FastReport开发BS版Report的Demo:
http://117.21.247.37/cbx/AppSvr.dll/oc.ao
simon0809 2009-02-25
  • 打赏
  • 举报
回复
procedure UpdateNewVersion(FileName:String);
var
n1,n2: String;
f1,f2: Boolean;
h1,h2: Integer;
begin
// ACurrentPath,AServerPath: 系统public变量
n1 := ACurrentPath+FileName;
n2 := AServerPath+FileName;

f1 := FileExists(n1);
f2 := FileExists(n2);

if f1 and f2 then
begin
h1 := FileOpen(n1,fmOpenRead);
h2 := FileOpen(n2,fmOpenRead);
if FileGetDate(h1) <> FileGetDate(h2) then CopyFile(pChar(n2),pChar(n1),False);
FileClose(h1);
FileClose(h2);
end
else if not f1 and f2 then
CopyFile(pChar(n2),pChar(n1),False)
else
begin
Windows.MessageBox(0,pChar(FileName+' 程式未找到!'),'提示',48);
exit;
end;
end;

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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