ADOCE打包到WinCE NK.bin镜像中

2008-12-22 00:26 阅读 3,472 次 评论 2 条

WinCE下SQLCE开发初探中说明的方式只能作为调试程序之用,其实每次调试都需要配置一次也够麻烦的,下面就讲一下如何将ADOCE的dll文件打包到内核NK中,并将数据库文件存在硬盘(CF卡)上,实现数据永久保存地方法。

一、需要将ADOCE的dll库文件打包到WinCE的windows目录下

1、 在菜单的Platform下选择Setting,再选择Custom Build Actions选项卡,在Build step:下选择Pre-Make Image选择New,然后在弹出对话框中输入

Add Files to NK.bin

copy <Path>\<File name> %_FLATRELEASEDIR%\<File name>

<File name>换成需要添加的文件
%_FLATRELEASEDIR%环境变量表示当前工程的release目录

确认后保存

2、在菜单的View下选择Parameter View,双击打开Project.bib文件进行编辑,在Files session下添加

FILES
; Name Path Memory Type
; -------------- -------------------------------- ------ ---- --------------------------------
<File name> $(_FLATRELEASEDIR)\<File name> NK  S

$(_FLATRELEASEDIR)对应的目录和%_FLATRELEASEDIR%相同
例如:将D盘根目录下的adoce31.dll打包,
copy D:\ adoce31.dll %_FLATRELEASEDIR%\ adoce31.dll
adoce31.dll $(_FLATRELEASEDIR)\adoce31.dll        NK     S

保持对应关系一致就可以了。

然后Build and Sysgen(此时不必做,等后面修改完了一并Build and Sysgen)
这样包含的文件默认在NK.bin的windows目录下

如果追加了新的文件需要重新Build and Sysgen
我已经改过的project.bib和project.reg文件可以到这里下载

二、替换掉dllregister.exe

每次运行dllregister.exe都会弹出一个“注册成功”的确认对话框,相当不爽。不知道如何让它静默运行,直接修改注册表完成它的功能算了。将dllregister注册之前和之后的注册表用UltraEdit比较,找出不同的写入project.reg中。

三、将数据库文件放入硬盘

NK的内核是个ROM,每次操作完之后的数据都是写入内存中,重启之后就没有了。所以必须将数据库文件放入CF上(NK.bin文件之外)。

在wince 的os定制中打开Catalog 中的Device Drivers\Storage Devices, 然后选择ATAPI PCI/IDE Storage Block Driver,右键选择Add to OS Design。

在Core OS\Windows CE devices\File Systems and Data Store\Storage Manager, 然后选择 FAT File System.右键选择Add toOS Design。然后重新Build and Sysgen。

CF卡的容量不要超过2G,fat16最大只能支持2G空间

Build and Sysgen等待完成后,将mydata.sdf(数据库文件)拷贝到CF上。在中文WinCE系统下,程序中访问数据库文件的路径为 /硬盘/mydata.sdf。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:ADOCE打包到WinCE NK.bin镜像中 | 起点博客
分类:应用笔记 标签:, , ,

发表评论


表情

  1. 飞飞
    飞飞 【农民】

    内容写的非常不错

  2. will
    will【站长】

    只是现在估计都没人用这个了