Zeos tutorial/de

From Free Pascal wiki
Revision as of 12:55, 11 September 2006 by Barko (talk | contribs) (→‎Überblick)
Jump to navigationJump to search

Deutsch (de) English (en) español (es) français (fr) português (pt) русский (ru) 中文(中国大陆)‎ (zh_CN)

Überblick

Dieses Tutorial ist über das Erhalten, Installieren und Verwenden von Zeoslib mit Lazarus und FPC.

Das Zeos Team hat vor kurzem ein neues Forum erstellt. Bitte besuchen sie das neue Forum für mehr Informationen über ZeosLib und um Fragen zu stellen / zu beantworten über die Verwendung von Zeos und um Bugs zu melden. Das neue Forum ist hier zu finden Forum für ZeosLib

Erhalten von Zeos

Zeos wurde kürzlich auf Lazarus portiert und es gibt noch keine Releases, die es offiziell unterstützen, aber sie können es einfach von CVS erhalten, wenn sie diesen Schritten folgen:

  • Setzen sie den Systempfad um ihren CVS Client aufzunehmen (falls notwendig), abhängig davon welchen Client sie verwenden oder konfigurieren sie ihren GUI Client um dies zu verwenden CVSROOT -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/zeoslib.
  • Wenn sie ihren Systempfad konfiguriert haben öffnen ein Terminal/Konsole/Dosbox und gehen sie zu dem Verzeichnis, wo sich ihre CVS Daten befinden und tippen:
    cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/zeoslib checkout zeosdbo_rework
  • Sie sollten einen Fortschritt sehen, nachdem alle Dateien heruntergeladen wurden gehen sie zum zeosdbo_rework Verzeichnis und schauen sie an was es enthält.

Installieren der Komponenten

Dies ist ein komplizierter Teil. Daher sollten sie etwas Geduld haben und diesen Teil sorgfältig lesen.

  • Stellen sie sicher, daß sie den neuesten Lazarus Snapshot haben und mindestens FPC 2.0.3 nicht älter als vom 6. März 2006.
  • Starten sie eine Instanz von Lazarus.
  1. Benutzen sie Komponenten/Paketdatei (.lpk) öffnen im Hauptmenü.
  2. Gehen sie zu zeosdbo_rework\packages\lazarus\ und öffnen zcomponent.lpk
  3. Drücken sie [Kompilieren] nur dann, wenn sie die Komponenten nicht in die IDE installieren wollen
  4. Drücken sie [Installieren]
  5. Sie werden gefragt, ob sie Lazarus rekompileren wollen.
  6. Antworten sie diesmal mit [Yes] .
  7. Warten sie bis die Kompilierung beendet ist. Lazarus sollte sich danach selbst neu starten.
  8. Wenn alles ok ist, sollten sie jetzt den [Zeos Access] Tab in der Komponentenpalette sehen.

Anmerkungen

Gegenwärtig hat Zeos CVS für Lazarus kaputte Packages. Einige Anmerkungen von IgD:

Benutzen sie eine frische Installation von Laz 0.9.14 (letzte stabile Version). Ich war in der Lage, ZeosLib vom 13. Okt 05 zu installieren. Zuerst bereinigen sie die folgenden Bugs in ZeosLib:

  • 1. Ändern sie ZplainPostgreSql81.pas zu ZPlanPostgresSql8x.pas in zplain.lpk
<Item22>
  <Filename Value="../../src/plain/ZPlainPostgreSql81.pas"/>
  <UnitName Value="ZPlainPostgreSql8x"/>
</Item22>

  • 2. Bereinigen sie die folgenden Schreibfehler in zdbc.lpk:

a. Entfernen sie extra "/" von "build/" (entfernen sie dasjenige in den Anführungszeichen)

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

b. Fügen sie fehlende Anführungszeichen zum unitname Wert hinzu

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

Jetzt folgen die Installationsanweisungen:

Vor Lazarus 0.9.13 müssen sie jedes der Zeos Packages öffnen mittels Komponenten -> Paketdatei (.lpk) öffnen in der folgenden Reihenfolge:

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


Dann öffnen sie am Ende zcomponent.lpk und kompilieren und installieren das Package. 0.9.13 kann einfach zcomponent.lpk öffnen. Die IDE wird den Rest automatisch öffnen.

Notiz: Die ersten vier Packages müssen nur kompiliert werden und können nicht installiert werden.

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

  • 3. Wenn sie Zeos erfolgreich kompiliert und installiert haben, aber Lazarus nach dem Neustart startet mit:

Zeoserror.gif

dann können sie folgendes tun:

In der Zeos.Inc Datei ersetzen sie im Abschnitt "// Settings for Debug mode": {$R-} mit {$R+}

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

Erstellen ihrer ersten Zeos Anwendung

  • Legen sie eine ZConnection ab (auf ihrem Formular).
    • Setzen sie ihren User, Password, Host, Port und Protocol (und jeden anderen Parameter falls benötigt).
    • Setzen sie Connected auf True.
  • Legen sie eine ZQuery ab (nicht mit ZReadOnlyQuery verwechseln).
    • Setzen sie Connection auf ihre aktive ZConnection.
    • Setzen sie die SQL Eigenschaft auf etwas wie SELECT * FROM MyTable
    • Setzen sie Active auf True.
  • Legen sie eine DataSource vom [Data Access] Tab ab.
    • Setzen sie DataSet auf ihre aktive ZQuery.
  • Legen sie ein DBGrid vom [Data Controls] Tab ab.
    • Setzen sie Datasource auf ihre DataSource.
    • Wenn alles ok ist, sollten sie jetzt die Datensätze aus ihrer Tabelle sehen.

Mehr Informationen über das Arbeiten mit Zeos

Hier können sie einige wirklich hilfreiche Artikel finden, welche die Verwendung von Zeos beschreiben und seine Interna, einige von ihnen handeln auch über Delphi spezifischen Stoff aber meistens können die gleichen Techniken ebenfalls in Lazarus verwendet werden.


Bitte ergänzen sie diesen Bereich

Mögliche Bugs und Probleme

  1. Ich habe bemerkt, daß manchmal wenn Lazarus erstellt wird, einige Zeos Dateien nicht gefunden werden, als provisorische Hilfe versuchen sie dies:
    • Benutzen sie Komponenten/Paketgraph im Hauptmenü.
    • Öffnen sie das ZComponent Package.
    • Klicken sie rechts auf den Dateien Punkt in der Liste.
    • Wählen sie [Recompile all required].
    • Wenn gefragt wird "Re-Compile this and all required packages?" antworten sie [Ja].
    • Rekompilieren sie Lazarus normal (mit Packages).

  2. Es gibt einen Bug in FPC's AnsiStrComp, welcher einen unzuverlässigen PChar Vergleich verursacht, das ist deutlich wenn ein DBGrid zum Bearbeiten der Daten verwendet wird, AnsiStrComp('abc', 'abcd') kann sie nicht als unterschiedlich erkennen aber es erkennt AnsiStrComp('abd', 'abcd') ignorierend mehrere Zeichen in der zweiten Zeichenkette. Dieser Bug wurde von Jesusrmx gefunden. Er wird wahrscheinlich bald bereinigt, siehe Bug Report.