Difference between revisions of "Zeos tutorial/de"

From Lazarus wiki
Jump to navigationJump to search
 
(42 intermediate revisions by 11 users not shown)
Line 1: Line 1:
 
{{Zeos tutorial}}
 
{{Zeos tutorial}}
 
+
<br>
 +
Zurück zu den [[Additional information/de|Zusätzlichen Informationen]].<br>
 +
<br>
 +
__TOC__
 +
<br>
 
== Überblick ==
 
== Überblick ==
  
Dieses Tutorial ist über das Erhalten, Installieren und Verwenden von [http://www.zeoslib.net Zeoslib] mit [[Glossary#Lazarus|Lazarus]] und [[Glossary#FreePascal|FPC]].
+
Dieses Tutorial handelt vom Bekommen, Installieren und Verwenden von [http://zeoslib.sourceforge.net/index.php Zeoslib] mit [[Glossary#Lazarus|Lazarus]] und [[Glossary#FreePascal|FPC]].
<br>
 
<br>
 
'''<font color=navy>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 [http://forum.zeoslib.net.ms Forum für ZeosLib] oder hier [http://zeosforum.net.ms Zeos Forum]</font>'''
 
  
 
== Erhalten von Zeos ==
 
== Erhalten von Zeos ==
  
Zeos wurde kürzlich auf [[Glossary#Lazarus|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:
+
===SVN===
  
* Besorgen sie sich einen CVS Client [http://www.wincvs.org/ CvsGui(WinCvs, MacCvs, gCvs)], [http://www.tortoisecvs.org/ TortoiseCvs(Windows Only)] oder [http://www.cvsnt.org/ CvsNT(Konsole Version)]
+
Sie können Zeos einfach mittels SVN 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'''.
+
==== Windows ====
* 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:<br>'''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.
 
* Für den täglichen Gebrauch benutzen sie nicht checkout sondern stattdessen gehen sie zum zeosdbo_rework Verzeichnis und tippen '''cvs -z3 update -P'''
 
  
== Installieren der Komponenten ==
+
* Besorgen Sie sich einen SVN Client (z.B.[http://tortoisesvn.tigris.org TortoiseSVN]) und installieren Sie diesen.
 +
* Siehe [http://tortoisesvn.net/docs/release/TortoiseSVN_en/help-onepage.html#tsvn-dug-general Getting Started with TortoiseSVN]
 +
* machen Sie einen Checkout vom Windows Explorer aus: <nowiki>http://svn.code.sf.net/p/zeoslib/code-0/branches/testing</nowiki>
  
Dies ist ein komplizierter Teil. Daher sollten sie etwas Geduld haben und diesen Teil sorgfältig lesen.
+
==== Linux/BSD ====
  
* Stellen sie sicher, daß sie den neuesten [http://www.de.freepascal.org/lazarus/ Lazarus Snapshot] haben.
+
* Besorgen Sie sich einen SVN Client (esvn, kdesvn, etc.)
 +
* Erstellen Sie ein Verzeichnis ''zeosdbo'', gehen in das Verzeichnis und starten
 +
* svn checkout <nowiki>http://svn.code.sf.net/p/zeoslib/code-0/branches/testing</nowiki>
  
* Starten sie eine Instanz von Lazarus.
+
===ZIP===
  
# Benutzen sie '''Komponenten/Paketdatei (.lpk) öffnen''' im Hauptmenü.
+
Sie können sich die aktuelle Version als ZIP-Datei von sourceforge.net herunterladen: [http://sourceforge.net/projects/zeoslib/ http://sourceforge.net/projects/zeoslib/]
# Gehen si zu '''zeosdbo_rework\packages\lazarus\''' und öffnen '''ZCore.lpk'''
 
# Drücken sie '''[Kompilieren]''' (und warten ...)
 
# Drücken sie '''[Installieren]'''
 
# Eine Meldung wird erscheinen, um sie zu informieren, daß dies ein Laufzeit Package ist, welches nicht installiert werden kann.
 
# Drücken sie '''[Ignorieren]'''
 
# Sie werden gefragt, ob sie Lazarus rekompileren wollen.
 
# Antworten sie '''[Nein]'''
 
# Schließen sie das Installationsformular.
 
  
* Wiederholen sie die Schritte 1 bis 9 für die folgenden Packages (anstelle von Zcore.lpk öffnen):
+
== Installieren der Komponenten ==
** - ZParseSql.lpk
 
** - ZPlain.lpk
 
** - ZDbc.lpk
 
  
* Jetzt wiederholen sie die Schritte 1 bis 6 für das Package ZComponent.lpk
+
* Starten Sie eine Instanz von Lazarus.
* Sie werden gefragt, ob sie Lazarus rekompileren wollen.
 
* Antworten sie diesmal mit '''[Yes]''' .
 
* Warten sie bis die Kompilierung beendet ist. Lazarus sollte sich danach selbst neu starten.
 
* Wenn alles ok ist, sollten sie jetzt den '''[Zeos Access]''' Tab in der Komponentenpalette sehen.
 
  
== Anmerkungen ==
+
# Benutzen Sie '''Package -> Packagedatei (.lpk) öffnen''' im Hauptmenü.
 +
# Gehen Sie in das '''\packages\lazarus\''' Unterverzeichnis von Zeoslib und öffnen Sie '''zcomponent.lpk'''
 +
# Drücken Sie '''Kompilieren''', um (vor allem) die Abhängigkeiten des Packages zu kompilieren
 +
# Drücken Sie '''Nutzung... -> Installieren'''
 +
# Sie werden gefragt, ob Sie Lazarus rekompileren wollen.
 +
# Antworten Sie diesmal mit '''Ja''' .
 +
# Warten Sie bis die Kompilierung beendet ist. Lazarus sollte sich danach selbst neu starten.
 +
# Wenn alles ok ist, sollten Sie jetzt den '''Zeos Access''' Tab in der Komponentenpalette sehen.
  
Gegenwärtig hat Zeos CVS für Lazarus kaputte Packages.
+
[[image:Zeos_Components.png]]
Einige Anmerkungen von IgD:
 
  
Benutzen sie eine frische Installation von Laz 0.9.10 (letzte stabile Version). Ich war in der Lage, ZeosLib vom 13. Okt 05 zu installieren. Zuerst bereinigen sie die folgenden Bugs in ZeosLib:
+
Wenn Sie die Fehlermeldung "Cannot find unit ZClasses" oder Ähnliches erhalten, prüfen Sie sorgfältig die Groß/Klein-Schreibung des Dateinamens Ihrer Zeos Dateien (orig.: Zeos source distribution).
  
* 1. Ändern sie ZplainPostgreSql81.pas zu ZPlanPostgresSql8x.pas in zplain.lpk
+
Schreiben Sie alle Datei- und Verzeichnisnamen des zeoslib-Verzeichnisses in '''Klein'''buchstaben. (Mit dem freeware programm "freecommander" geht das z.B. ganz einfach)
+
In Lazarus öffen Sie danach wieder alle Packages (.lpk) und passen die Schreibweise der Dateinamen an, indem Sie anklicken :
<Item22>
+
"More..."/"Fix Files Case". Compile them.
  <Filename Value="../../src/plain/ZPlainPostgreSql81.pas"/>
 
  <UnitName Value="ZPlainPostgreSql8x"/>
 
</Item22>
 
 
  
* 2. Bereinigen sie die folgenden Schreibfehler in zdbc.lpk:
+
* Auch wenn die Groß/Klein-Schreibung genau passt, können die automatisch erzeugten Package Quell-Dateien Namen mit falscher Schreibweise (Groß/klein) in der uses Clause erzeugen : (Lazarus 0.9.18), i.e.:
  
a. Entfernen sie extra "/" von "build/" (entfernen sie dasjenige in den Anführungszeichen)
+
<syntaxhighlight lang="pascal">
 +
  { 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.         
 +
</syntaxhighlight>
  
<SearchPaths>
+
* Beachten Sie, dass Lazarus die unit ZClasses in Zclasses umgeschrieben hat, so dass sich ein Namenskonflikt ergibt. Das scheint ein Lazarus-Fehler zu sein, keiner des Zeos-Packages. Eine Möglichkeit, diesen Konflikt zu umgehen ist es, alle Zeos-Quelldateinamen kleinzuschreiben. Gehen Sie durch alle Unterverzeichnisse unter src/ and führen den Sie folgenden Befehl in einer bash-Kommandozeile aus:
  <OtherUnitFiles Value="../../src/dbc/"/>
 
  <UnitOutputDirectory Value="build/"/>
 
</SearchPaths>
 
 
b. Fügen sie fehlende Anführungszeichen zum unitname Wert hinzu
 
  
<Item43>
+
  rename -v 'y/A-Z/a-z/' *
  <Filename Value="../../src/dbc/ZDbcASA.pas"/>
 
  <UnitName Value="ZDbcASA/>
 
</Item43>
 
  
Jetzt folgen die Installationsanweisungen:
+
== Anmerkungen ==
  
Mit Lazarus, öffnen sie jedes der Zeos Packages via Komponenten/Paketdatei (.lpk) öffnen in der folgenden Reihenfolge:
+
== Erstellen Ihrer ersten Zeos-Anwendung ==
  
# zcore.lpk
+
* Legen Sie eine '''ZConnection''' ab (auf Ihrem Formular).
# zparsesql.lpk
+
** Setzen Sie ihren User, Password, Host, Port und Protocol (und jeden anderen Parameter falls benötigt). '''Hinweis für SQLite3-Nutzer''': Auch wenn Sie "sqlite-3" als Protokoll wählen, setzen Sie als Hostname einen Wert (z.B. localhost) ein, auch wenn man für sqlite3-Datenbanken diese Angabe naturgemäß nicht benötigt. Zeos verwendet intern als Trenner zwischen den Parametern ein Slash "/". Lässt man den Paramenter "Hostname" leer, so verwendet Zeos unter *NIX-Systemen (bei denen ein Slash "/" als Trenner in Pfadnamen verwendet wird) das erste Verzeichnis im Feld "Database" als Hostnamen, wodurch Zeos die Datenbank-Datei nicht mehr finden kann.
# zplain.lpk
+
** Setzen Sie Connected auf True.
# zdbc.lpk
 
  
 +
* Legen Sie eine '''ZQuery''' ab (<font color=red>nicht mit ZReadOnlyQuery verwechseln</font>).
 +
** Setzen Sie Connection auf ihre aktive ZConnection.
 +
** Setzen Sie die SQL-Eigenschaft auf etwas wie '''SELECT * FROM MyTable'''
 +
** Setzen Sie Active auf True.
  
Dann öffnen sie am Ende zcomponent.lpk und kompilieren und installieren das Package.
+
* Legen Sie eine '''DataSource''' vom '''[Data Access]''' Tab ab.
 +
** Setzen Sie DataSet auf Ihre aktive ZQuery.
  
Notiz: Die ersten vier Packages müssen nur kompiliert werden und können nicht installiert werden.
+
* 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.
  
--[[User:Forest|Forest]] 17:41, 2 Nov 2005 (CET)
+
== Mögliche Bugs und Probleme ==
  
== Erstellen ihrer ersten Zeos Anwendung ==
+
# Ich habe bemerkt, dass 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).<br><br>
  
* Legen sie eine '''ZConnection''' ab (auf ihrem Formular).
+
==Weitere Informationen==
** 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 (<font color=red>nicht mit ZReadOnlyQuery verwechseln</font>).
+
* [http://zeoslib.sourceforge.net/index.php Forum für ZeosLib]
** Setzen sie Connection auf ihre aktive ZConnection.
+
* [[ZeosDBO]]
** Setzen sie die SQL Eigenschaft auf etwas wie '''SELECT * FROM MyTable'''
+
* [https://lazarus.intern.es/tutorial_firebird_lazarus_zeos_2.html Tutorial Lazarus/Zeos/Firebird (Windows)] deutsch [https://lazarus.intern.es/download_tutorials_lazarus_zeos_firebird.html download]
** 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.<br>
 
 
 
* [http://seegernet.koolhost.de/zeosforum/kb.php?mode=article&k=6 Die ZeosLib DBOs 6.1.5 - Mit Delphi 7 und Firebird 1.5]
 
* [http://seegernet.koolhost.de/zeosforum/kb.php?mode=article&k=4 Überblick über die Zeos Database Objects Architecture]
 
* [http://seegernet.koolhost.de/zeosforum/kb.php?mode=article&k=5 Eine Einführung in das ZDBC API]
 
* Prüfen sie auch den [http://seegernet.koolhost.de/zeosforum/downloads.php Downloads] Abschnitt für echte Beispiele, welche einfach nach  Lazarus portiert werden können.
 
<br>
 
'''Bitte ergänzen sie diesen Bereich'''
 
 
 
== Mögliche Bugs und Probleme ==
 
  
# Ich habe bemerkt, daß manchmal wenn Lazarus erstellt wird, einige Zeos Dateien nicht gefunden werden, als provisorische Hilfe versuchen sie dies:
+
[[Category:Tutorials/de]][[Category:Databases/de]]{{AutoCategory}}
#* 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).<br><br>
 
# Es gibt einen Bug in [[Glossary#Freepascal|FPC's]] [http://lazarus-ccr.sourceforge.net/docs/rtl/sysutils/ansistrcomp.html 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 [[User:Jesusrmx|Jesusrmx]] gefunden. Er wird wahrscheinlich bald bereinigt, siehe [http://www.freepascal.org/bugs/showrec.php3?ID=4325 Bug Report].
 

Latest revision as of 06:48, 29 August 2019

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

Zurück zu den Zusätzlichen Informationen.


Überblick

Dieses Tutorial handelt vom Bekommen, Installieren und Verwenden von Zeoslib mit Lazarus und FPC.

Erhalten von Zeos

SVN

Sie können Zeos einfach mittels SVN erhalten, wenn Sie diesen Schritten folgen:

Windows

  • Besorgen Sie sich einen SVN Client (z.B.TortoiseSVN) und installieren Sie diesen.
  • Siehe Getting Started with TortoiseSVN
  • machen Sie einen Checkout vom Windows Explorer aus: http://svn.code.sf.net/p/zeoslib/code-0/branches/testing

Linux/BSD

  • Besorgen Sie sich einen SVN Client (esvn, kdesvn, etc.)
  • Erstellen Sie ein Verzeichnis zeosdbo, gehen in das Verzeichnis und starten
  • svn checkout http://svn.code.sf.net/p/zeoslib/code-0/branches/testing

ZIP

Sie können sich die aktuelle Version als ZIP-Datei von sourceforge.net herunterladen: http://sourceforge.net/projects/zeoslib/

Installieren der Komponenten

  • Starten Sie eine Instanz von Lazarus.
  1. Benutzen Sie Package -> Packagedatei (.lpk) öffnen im Hauptmenü.
  2. Gehen Sie in das \packages\lazarus\ Unterverzeichnis von Zeoslib und öffnen Sie zcomponent.lpk
  3. Drücken Sie Kompilieren, um (vor allem) die Abhängigkeiten des Packages zu kompilieren
  4. Drücken Sie Nutzung... -> Installieren
  5. Sie werden gefragt, ob Sie Lazarus rekompileren wollen.
  6. Antworten Sie diesmal mit Ja .
  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.

Zeos Components.png

Wenn Sie die Fehlermeldung "Cannot find unit ZClasses" oder Ähnliches erhalten, prüfen Sie sorgfältig die Groß/Klein-Schreibung des Dateinamens Ihrer Zeos Dateien (orig.: Zeos source distribution).

Schreiben Sie alle Datei- und Verzeichnisnamen des zeoslib-Verzeichnisses in Kleinbuchstaben. (Mit dem freeware programm "freecommander" geht das z.B. ganz einfach) In Lazarus öffen Sie danach wieder alle Packages (.lpk) und passen die Schreibweise der Dateinamen an, indem Sie anklicken : "More..."/"Fix Files Case". Compile them.

  • Auch wenn die Groß/Klein-Schreibung genau passt, können die automatisch erzeugten Package Quell-Dateien Namen mit falscher Schreibweise (Groß/klein) in der uses Clause erzeugen : (Lazarus 0.9.18), i.e.:
  { 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.
  • Beachten Sie, dass Lazarus die unit ZClasses in Zclasses umgeschrieben hat, so dass sich ein Namenskonflikt ergibt. Das scheint ein Lazarus-Fehler zu sein, keiner des Zeos-Packages. Eine Möglichkeit, diesen Konflikt zu umgehen ist es, alle Zeos-Quelldateinamen kleinzuschreiben. Gehen Sie durch alle Unterverzeichnisse unter src/ and führen den Sie folgenden Befehl in einer bash-Kommandozeile aus:
 rename -v 'y/A-Z/a-z/' *

Anmerkungen

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). Hinweis für SQLite3-Nutzer: Auch wenn Sie "sqlite-3" als Protokoll wählen, setzen Sie als Hostname einen Wert (z.B. localhost) ein, auch wenn man für sqlite3-Datenbanken diese Angabe naturgemäß nicht benötigt. Zeos verwendet intern als Trenner zwischen den Parametern ein Slash "/". Lässt man den Paramenter "Hostname" leer, so verwendet Zeos unter *NIX-Systemen (bei denen ein Slash "/" als Trenner in Pfadnamen verwendet wird) das erste Verzeichnis im Feld "Database" als Hostnamen, wodurch Zeos die Datenbank-Datei nicht mehr finden kann.
    • 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.

Mögliche Bugs und Probleme

  1. Ich habe bemerkt, dass 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).

Weitere Informationen