|
发表于 2012-6-22 17:24:06
|
显示全部楼层
今天折腾了半个下午,终于搞定了。
ZEOSDBO-6.6.4 ~ ZEOSDBO-6.6.6 版本接口改变导致跟 Lazarus 最新版本 0.9.30.4 不兼容,但 ZEOSLIB 项目组已经修正该问题,并提交到SVN版本管理器,最新代码可以通过SVN下载(如果不知道什么是SVN可以去GOOGLE搜),SVN地址是:svn://zeos.firmos.at/zeos/trunk
同步到的最新代码需要做少许改动即可:
1、打开 \\src\\component\\ZAbstractRODataset.pas,把第 3487 行的条件编译指令去掉:- {$IFDEF FPC2_1UP}, ftString, ftBlob{$ENDIF});
复制代码 改为 ==> 然后保存该文件。
2、打开 \\src\\dbc\\ZDbcSqLite.pas,更改第 373 行如下:- if StrToBoolEx(Info.Values['encrypted']) then
复制代码 改为 ==>- if (Password<>'')or(StrToBoolEx(Info.Values['encrypted'])) then
复制代码 然后保存该文件。
改完了。接下来就是编译、安装。
打开 Lazarus 0.9.30.4,包 ==> 打开包文件 ==> \\packages\\lazarus\\zcomponent.lpk,编译 ==> 安装,然后编译IDE。
IDE编译完、重新启动后,你会发现 panlifeng 同学提供的例子也可以正常打开、编译、正常运行。
PS:其实 ZDbcSqLite.pas 第 373 行的条件不改应该也可以,只是我翻了几次没找到传 Info.Values['encrypted'] 参数的方法,所以只好改源代码了,各位同学知道怎么传的话欢迎跟贴。 |
|