材料管理系统中发现的问题
来源:互联网 发布:软件开发成本 人月 编辑:程序博客网 时间:2024/04/29 02:38
笔者前几年用DELPHI7开发一套材料管理系统,数据库用的是delphi自带的Paradox,最近程序升级,发现了一些问题,总结如下:
一、空数据库中Summary表的结构和开发用的表结构不一致。这种不一致可能是数据库结构在开发中改动过了,但没记录,也没修改打包要用的空数据库中的表结构,导致的问题就是安装后的程序运行汇总功能时才发现问题。
二、打包BDE的问题。BDE打包不需要InstallShield2010的MergeModule功能,只需要把BDE中必须的几个文件打包到工程中,然后在注册表中要注册2个值:
BDE的以下DLL是必须的:
1. Blw32.dll:语言驱动函数库。
2. Idapi32.dll:BDE基本函数库。
3. Idr20009.dll:错误信息库。
4. Idsql32.dll:SQL查询驱动程序函数库。
5. Idpdx32.dll:Paradox数据库驱动程序函数库。
6. idbat32.dll: idbat32.dll:批操作驱动程序函数库。
7. bantam.dll: 语言驱动函数库。
另外还有3个资源文件也是必须的:
1、charset.cvb
2、fareast.btl
3、usa.btl
上述函数可以放在任何目录下,当必须在注册表中指定这些函数所在的目录。当然也与你生产的可执行程序放在同一个目录下,这样就可以不在注册表中注册目录。
除了需要上述的DLL,如果开发的工具中使用了数据库别名,则还需要一个BDE配置文件Idapi32.cfg,其目录必须在注册表中指定。为了避免修改注册表,达到纯绿色工具的目的,应避免在上层应用程序中使用数据库别名。而直接指定数据库的目录:具体方法是在程序启动时动态指定TQuery连接的数据库。代码如下:
form1.MainQuery.DatabaseName:=extractfiledir(application.exename)+'\database';
上述示例数据库放在应用程序所在目录下的database目录下。
上述就完成了一个纯绿色的基于数据库应用的应用程序。
数据驱动程序所在目录的设置:
HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\DLLPATH(字符串值)
在InstallShield2010中注册表的值是[INSTALLDIR]BDE\
注意两点:
1、[INSTALLDIR]BDE\代表应用安装的路径下BDE目录,当然可以指定其他目录
2、[INSTALLDIR]和BDE之间没有'\'
语言驱动程序所在目录的设置:
HKEY_LOCAL_MACHINE\Software \Borland\BLW32\BLAPIPATH(字符串值)
三、win7系统下发现的问题:
1、如果程序运行时需要修改注册表、生成临时文件、修改文件等,都需要以管理员权限运行。
2、win7系统下的*.dfm文件源码似乎会和xp系统不一致。 发现在win7下的源码文件拷贝到xp系统下后,所有dfm文件的末尾都增加了一串不能正常显示的字符串,将这些字符删掉即可。
3、形如:‘2011-09-27’的字符串转成日期格式时会报错,改成'2011/09/27'格式,错误消除。但XP系统下,两种格式都没问题
使用TFormatSettings来就OK了
var
t:TDateTime;
fs:TFormatSettings;
begin
fs.ShortDateFormat:='yyyy-mm-dd';
fs.DateSeparator:='-';
t := StrToDate('2010-01-01',fs);//, fs.LongDateFormat);
ShowMessage('01/01/2075 = '+DateTimeToStr(t,fs));
t:TDateTime;
fs:TFormatSettings;
- 材料管理系统中发现的问题
- 项目管理中发现的问题。
- 项目中发现的问题以及项目管理
- 学生管理系统中遇到的问题
- 工程材料库存管理系统操作手册
- 实践中发现的问题
- 库存管理系统中登录验证中出现的问题
- 网站服务系统wdcp在使用中发现的小问题
- 猛然发现若干年前用MFC做的管理系统
- 需求工作中发现的问题
- 发现IE中文本框的一个问题
- 项目中发现的小问题规整
- 关于Excel 中UserRange发现的问题
- 在阶段总结中发现的问题
- c++中发现的一些问题
- protobuf 使用中发现的一个问题
- bbs小项目中发现的问题
- 工作中发现的问题20131121
- Jquery 和关于 复选框 的问题
- linux下挂载U盘过程
- POJ 1934 Trip DP
- ORA-06519: 检测到活动的自治事务处理,已经回退
- ArcGIS Flex API for 3D—简介
- 材料管理系统中发现的问题
- ArcGIS Flex API for 3D—Papervision3D
- hust 1342 (有上下界的最小流)
- 禁止WebBrowser弹出网页对话框
- VS2008提示jquery(转自:http://blog.csdn.net/wanglong7505/article/details/6307126)
- ArcGIS Flex API for 3D—实现思路
- 目前使用的PIC的开发环境和开发工具以及涉及的PIC MCU
- 浅析Java抽象类和接口的比较
- 现状 心态