SQLite是一個輕量級的嵌入式資料庫,在PC上大可不用它,但是在WINCE上,他就起很大作用了(ACCESS在WINCE上停止升級,SQL CE又太龐大)。
* 在Lazarus for WIN32上使用SQLite
1. 安裝SQLite for WIN32: VC2005編譯SQLite,,把編譯後的sqlite3.dll放在Windows系統檔案夾之下;也可以直接到 下載現有的sqlite3.dll。
2. 安裝LAZARUS的SQLite控制項:\lazarus\components\sqlite\sqlite3laz.lpk
在WIN32編寫好SQLite資料庫程式,然後修改編譯器,從而產生WINCE平台下的資料庫程式,這樣可以大大減少交叉編譯~調試所浪費的時間!
* 在Lazarus for WINCE上使用SQLite
1. 編譯得到SQLite3.dll for wince
2. 先進LAZARUS Application工程,添加SQLITE3DATASET控制項
3. 您必須先設定項目的編譯器屬性,請點選選單項目: Project > Compiler options...,點選Path分頁,並把LCL Widget改編為Wince;點選Code分頁,並把target platform改變為arm-wince。
4. 編譯時間會提出Fatal: Can't find unit PropEdits used by registersqlite3 這樣的錯誤,這時就需要修改\lazarus\components\sqlite\registersqlite3.pas的代碼
5. 把PropEdits,ComponentEditors,SqliteComponentEditor 注釋掉; 把RegisterComponentEditor(TSqlite3Dataset,TSqliteEditor) ; RegisterPropertyEditor(TypeInfo(String),TSqlite3Dataset,'FileName',TFileNamePropertyEditor); 注釋掉
6. 重新編譯即可通過。
附:使用DBGrid等一小部分資料敏感控制項時,即使編譯通過,但是在WINCE上運行還是會提出“Access violation ”這類錯誤,DBEDIT等其他資料敏感控制項則可以正常使用!