附录二. Reg.ini配置
硕正套件本身是不访问操作系统的注册表的,但在运行过程中仍然需要记录某些临时信息,比如在报表的设计过程中,需要保存访问过的数据源URL,以便今后能直接在下拉框中选取。
这些临时信息是保存在 \Documents and settings\[用户名]\BC? (Windows 7为 \用户\[用户名]\BC? )目录下的 Reg.ini文件中的, Reg.ini就是硕正套件自己的“注册表”。
Reg.ini通常不需要你去关注,但有几个和开发调试有关的配置选项,需要在此说明一下。
1.http日志
硕正套件内部有一个http日志的功能,可用于开发阶段的性能调试,它能记录套件发出的所有http请求的响应情况,诸如耗时、返回包的尺寸等。
该功能的最终结果是一个日志文件,位于Reg.ini同一个目录下,文件名为 httplog.htm. 内容大致如下:
时间 | URL | StatusCode | 耗时 | gzip压缩 | 返回包尺寸(kb) | 解压后尺寸(kb) | 压缩率(%) |
14:14:17 | http://localhost:81/supcan/sht3.xml | 200 | 00:00 | | 10 | | |
14:14:24 | http://localhost/supcan/data5w.xml | 200 | 00:00.983 | yes | 3559 | 14694 | 24.22 |
14:14:50 | http://localhost/supcan/data5w.xml | 304 | 00:00.15 | | 0 | | |
14:14:50 | http://localhost/supcan/data5w.xml | 200 | 00:00.141 | yes | 1446 | 14694 | 9.84 |
注1: 日志仅记录硕正套件发送的http请求,无法记录页面的http请求;
注2: 其中 “耗时” 的格式是“分钟:秒 . 毫秒”, 它表示从发出http请求到收到响应包的时间间隔,如果数据包是gzip压缩的,那么它还包括了解压的耗时;
注3: 硕正控件发起的http请求未必都能到达服务器,因为有的是从浏览器的Cache中直接返回的,所以http日志不完全可信,比如静态内容.
在默认情境下,日志是关闭的,您必须手工修改 Reg.ini 文件才能启用它,修改内容说明如下:
...
[httplog] //自己增加此小节
open = true //是否打开日志,默认是false
minKb = ? //最小的http返回包尺寸(单位:kb),超过该尺寸才记录,默认是0
redKb = ? //如果http返回包超过该尺寸(单位:kb),将以红色显示,默认是无穷大
redSeconds = ? //如果http请求响应耗时超过该数(单位: 秒),将以红色显示,默认无穷大
cacheSize = ? //缓存数,默认是5,即达到 5 个http请求时才刷新日志
logFileKb = ? //日志文件的最大尺寸,默认是256. 一旦日志文件长度超过该数,硕正套件能自动抛弃前面的一半.
您只要增加上述的第2、3行就行,其它内容都是可选项,可以忽略。
注1: 修改了reg.ini, 未必马上生效,你需要关闭浏览器进程,在下一次打开浏览器后才能生效;
注2: 由于缓存的关系(默认5条),日志文件是延迟刷新的;
2.Debug日志
如果程序员对 OnReady( )事件理解不透彻,那么他写的 OnReady( )脚本很有可能不符合要求,从而造成运行效率低下、页面卡死或其它问题,这也是初学者的高频问题。为了方便调试,Reg.ini 文件提供了Debug日志功能.
在默认情境下,Debug日志是关闭的,您必须手工修改 Reg.ini 文件才能启用它,修改内容说明如下:
...
[Debug]
Open=true
关闭浏览器进程,再打开,运行您的所有页面,如果硕正控件发现有潜在问题,会在 Reg.ini 同一个目录下生成一个名为 Debug.txt 的文件,里面内容大致如下:
2012.08.31 11:09:24------------------------
警告:在 109 毫秒内重复执行了如下函数, 有可能是OnReady( )脚本书写不妥造成:
Build(treelist/t3_2.xml)
...
此外,如果在异步加载数据/异步计算(Report中)过程中执行了API函数,日志也会记载。当然,里面捕捉到的问题未必完全是问题。
3.本地开发目录
在报表、Freeform表单设计过程中,通常是先把设计好的XML文件保存在本地的某个目录下的,在需要时再发布到Web服务器。
为了方便本地操作,允许在Reg.ini中设置这个工作目录,这样在工具条的 “打开” 和 “保存” 操作时能够先进入这个默认目录. Reg.ini工作目录配置说明如下:
...
[Default] //找到这个小节
ReportDir=d:\tomcat\webapps\mywork //报表的默认保存目录
FreeformDir=d:\tomcat\webapps\myforms //freeform的保存目录
注1: 修改了reg.ini, 未必马上生效,你需要关闭浏览器进程,在下一次打开浏览器后才能生效;
附录三. supcan.xml
supcan.xml是可选的部署文件,它用来存放某些可配置的默认值,其作用全局有效。
打开这个文件(位于演示包binary目录),相信您一看就能明白它的用途,您可以按注释去修改它,最终只要将它部署于服务器(和其它核心文件安置在同一目录)就行,硕正套件会自动去下载的.
硕正套件下载这个文件的时机是:浏览器进程中第一个硕正组件实例被创建时.
注1: 假如您修改了这个文件,如果要让它立即生效,建议立即清理IE的缓存;
注2: 如果您完全认同这些默认设置,可以不部署该文件,不部署 supcan.xml 对硕正套件的运行并无影响.
注3: 如果您嫌文件太大影响性能,可以删除大部分内容、仅保留改动过的内容(但树结构不能变),或者删除注释部分.
注4: 如果您想自定义皮肤(hue),可参考客户端BC目录下的 BCRes.zip 中的4个XML色调文件,XML语法和含义参考如下:
<skin name="橘黄色|Orange">
<drawer>
<window>窗口背景色,例如日历</window>
<normalBack>普通背景色,例如下拉Treelist的背景</normalBack>
<gradientBack>渐变的背景色,比如Treelist的标尺的背景</gradientBack>
<gradientLightBack>较浅的背景色,例如Treelist的背景、Treelist的排序区背景、Tree的背景、浮动提示窗(MessageBoxFloat)的背景色</gradientLightBack>
<button style="Round" border="2" Round="5" borderColor="#93A3B3, #F8F9F9">按钮样式</button>
<buttonActive style="Round" border="2" Round="5" borderColor="#93A3B3, #F8F9F9">按钮样式</buttonActive>
<buttonPushed style="Round" border="2" Round="5" borderColor="#93A3B3, #F8F9F9">按钮样式</buttonPushed>
<buttonFlatActive style="Round" border="2" Round="5" borderColor="#93A3B3, #F8F9F9">按钮样式</buttonFlatActive>
<headerActive>Treelist的标尺的背景</headerActive>
<menuActive style="Round" border="1" Round="5" borderColor="#A9B5C3">菜单的当前项</menuActive>
<comboActive style="Round" border="1" Round="4" borderColor="#A7B3C1">字体选择中的当前项</comboActive>
<reportRulerActive>报表的标尺背景色(活动状态)</reportRulerActive>
</drawer>
<color>
<grid>表格线色</grid>
<controlBorder>控件、窗口的边界线色</controlBorder>
<groupboxEx>GroupEx的颜色</groupboxEx>
<reportRulerBack>报表的标尺背景色(非活动状态)</reportRulerBack>
<TabHeader2Base>选项卡背景色</TabHeader2Base>
<dialog>对话框的背景色</dialog>
</color>
</skin>