为了更好的服务新老客户决定升级WebMarc。在开发过程中遇到了诸多技术问题现在回过头来总结一下。
注:我的开发环境是Winxp+sp3 开发工具是 Delphi 7.0
新版本中增加了一站式检索也就是一个isbn会在多个站点搜索假如国图未命中就自动转入CSLN再没有就去搜索上图依此类推目的就是提高命中率最大限度减少客户的劳动量。
可是当初开发时由于时间紧没有好好规划界面上已经拖拽了N个WebBrowser控件要把多个站点衔接起来十分困难就是普通的维护和升级也变的极为琐碎,痛下决心放弃了旧版本从新开发。
正所谓磨刀不误砍柴工新版本虽然在规划上花费时间精力大但为后续的开发维护升级铺平的道路。
我采用的模块化组件设计,把每个站点数据源封装成类发布为一个组件使用来使用比如国图封装为Fra_GT类
开发时如果想从该站点下载数据就这么写:
Fra_GT.isbns='7-5053-7707-8' //赋值要下载isbn
Fra_GT.BeginDown //开始下载
在下载成功和下载完毕都自定义了事件
procedure TForm1.Frame_GT1DownSuccess(Sender: TObject; Marc: String);
begin
//Marc 下载下来了 可以 解析显示出来 也可以保存出来了
end;
procedure TForm1.Frame_GT1DownComplete(Sender: TObject);
begin
//下载完了 可以开始下一个站点的 下载了
... ....
end;
这样设计软件核心功能与界面分离了开发和维护起来很方便关于自定义组件我搜集了几篇文章共享下
hi.baidu.com/iamliqi/blog/item/e6aa53607cdfabd88cb10d7e.html
http://blog.csdn.net/chris_mao/archive/2007/10/24/1840526.aspx
下一篇会把新版本界面图贴出来,小有成就感。