维基副本镜像

这是 pascal.chat 维基的镜像。编辑、历史记录和登录都在那里。

Zeos tutorial/zh CN

Deutsch · English · Español · Français · Português · Русский · 中文(中国)

概述

本教程讲述在Lazarus和Fpc上下载,安装并且使用Zeoslib 的方法。

最近Zeos 开发团队弄了一个新论坛. 无论是想了解关于Zeoslib 的其它信息,还是提问/回答有关使用Zeos 的问题, 或者是报告BUG , 请访问新论坛。ZeosLib新论坛地址.

下载 Zeos

Zeos网站最近搬迁到了Lazarus 网站, 而且还没有发布官方支持的新版本. 尽管如此, 遵从下列简单的几步就可以从SVN服务器获得源代码:

Windows 系统下

Linux/BSD 系统下

安装组件

安装比较棘手, 所以你应该有点耐心并仔细阅读本部分内容.(This is a tricky part so you should have a little patience and read this part carefully.)

  1. 单击主菜单的Components/Open Package File(.lpk)命令. (Use Components/Open Package File(.lpk) from the main menu.)
  2. 打开**zeosdbo_rework\packages\lazarus**目录下zcomponent.lpk文件.(Go to *zeosdbo_rework\packages\lazarus* and open zcomponent.lpk)
  3. 如果不想将组件安装到IDE中,则单击[Compile]按钮.(Press [Compile] only if you don't want to install the components into the IDE)
  4. 单击[Install]按钮(Press [Install])
  5. 提示"是否想重新编译Lazarus?"(You are asked if you want to recompile Lazarus. )

如果编译过程中碰到诸如 "找不到ZClasses单元(Cannot find unit ZClasses)" 之类的错误提示, 请仔细检查 Zeos 源代码中的涉及到的相关文件名的大小写. (If you receive the error "Cannot find unit ZClasses" or something similar, then you need to carefully check the case of the filenames in your Zeos source distribution.)

pascal
 { 本文件系Lazarus自动生成.不要修改本文件内容!
   本源文件仅用于包的编译与安装. 
   This file was automatically created by Lazarus. Do not edit!
   This source is only used to compile and install the package.
 }
 unit Zcore; 
 interface
 uses
   Zclasses, Zcollections, Zcompatibility, Zexprparser, Zexprtoken, Zexpression, 
   Zfunctions, Zmatchpattern, Zmessages, Zsysutils, Ztokenizer, Zvariables, 
   Zvariant; 
 implementation
 end.
text
 rename -v 'y/A-Z/a-z/' *

备注

Currently Zeos CVS for Lazarus has broken packages. Some comments from IgD:

Using a fresh install of Laz 0.9.12 (latest stable version) I was able to install ZeosLib dated 13 Oct 05. First fix the following bugs in ZeosLib:

text
<Item22>
  <Filename Value="../../src/plain/ZPlainPostgreSql81.pas"/>
  <UnitName Value="ZPlainPostgreSql8x"/>
</Item22>

a. Remove extra "/" from "build/" (remove the one that is inside the quotes)

text
<SearchPaths>
  <OtherUnitFiles Value="../../src/dbc/"/>
  <UnitOutputDirectory Value="build/"/>
</SearchPaths>

b. Add missing quote to unitname value

text
<Item43>
  <Filename Value="../../src/dbc/ZDbcASA.pas"/>
  <UnitName Value="ZDbcASA/>
</Item43>

Now, here are the installation instructions:

Before Lazarus 0.9.13 you must open each of the zeos packages via Components/Open Package File in the following order:

  1. zcore.lpk
  2. zparsesql.lpk
  3. zplain.lpk
  4. zdbc.lpk

Then finally open zcomponent.lpk and compile and install this package. 0.9.13 can simply open zcomponent.lpk. The IDE will open the rest automatically.

Note: The first four packages only need to be compiled and cannot be installed.

--Forest 17:41, 2 Nov 2005 (CET)

Then you can do:

In Zeos.Inc file replace, in section "// Settings for Debug mode": {$R-} to {$R+}

--Junior 19:48, 15 Apr 2006 (GMT)

制作你的第一个 Zeos 应用程序

关于 Zeos 工作的更多信息

Here you can find some really useful articles explaining Zeos usage and it's internals, some of them also talk about Delphi specific stuff but mostly the same techniques can be used in Lazarus too.\

Please complete me :)

可能的 Bug或问题(Issues)

  1. I have noticed that somethimes when building Lazarus it cannot find some Zeos files, as a quick workaround try this:
    • Use Components/Package Graph from the main menu.
    • Open the ZComponent package.
    • Right Click on the Files item in the list.
    • Choose [Recompile all required].
    • When asked "Re-Compile this and all required packages?" answer [Yes].
    • Recompile Lazarus normally (with packages).
      \
  2. There is a bug in FPC's AnsiStrComp wich causes unreliable PChar comparison, this is obvious when using a DBGrid to edit data, AnsiStrComp('abc', 'abcd') can't detect them as being different but it detects AnsiStrComp('abd', 'abcd') ignoring multiple chars from the second string. This bug was found by Jesusrmx. It will probably be fixed soon, see Bug Report.

From the Free Pascal wiki, page "Zeos tutorial/zh CN", as it stood on 2012-07-22 after a change by Swen, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

版本2,最后由WikiArchive于修改。