Difference between revisions of "Zeos tutorial/de"

From Free Pascal wiki
Jump to navigationJump to search
 
(32 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://zeos.firmos.at/portal.php 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]</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 (Linux/BSD Benutzer haben wahrscheinlich bereits CVS) [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.
 
  
== 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 und mindestens FPC 2.0.3 nicht älter als vom 6. März 2006.
+
* 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 sie zu '''zeosdbo_rework\packages\lazarus\''' und öffnen '''zcomponent.lpk'''
 
# Drücken sie '''[Kompilieren]''' nur dann, wenn sie die Komponenten nicht in die IDE installieren wollen
 
# Drücken sie '''[Installieren]'''
 
# 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 ==
+
== Installieren der Komponenten ==
  
Gegenwärtig hat Zeos CVS für Lazarus kaputte Packages.
+
* Starten Sie eine Instanz von Lazarus.
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:
+
# 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.
  
* 1. Ändern sie ZplainPostgreSql81.pas zu ZPlanPostgresSql8x.pas in zplain.lpk
+
[[image:Zeos_Components.png]]
 
<Item22>
 
  <Filename Value="../../src/plain/ZPlainPostgreSql81.pas"/>
 
  <UnitName Value="ZPlainPostgreSql8x"/>
 
</Item22>
 
 
  
* 2. Bereinigen sie die folgenden Schreibfehler in zdbc.lpk:
+
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).
  
a. Entfernen sie extra "/" von "build/" (entfernen sie dasjenige in den Anführungszeichen)
+
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 :
 +
"More..."/"Fix Files Case". Compile them.
  
<SearchPaths>
+
* 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.:
  <OtherUnitFiles Value="../../src/dbc/"/>
 
  <UnitOutputDirectory Value="build/"/>
 
</SearchPaths>
 
 
b. Fügen sie fehlende Anführungszeichen zum unitname Wert hinzu
 
  
<Item43>
+
<syntaxhighlight lang="pascal">
  <Filename Value="../../src/dbc/ZDbcASA.pas"/>
+
  { This file was automatically created by Lazarus. Do not edit!
  <UnitName Value="ZDbcASA/>
+
    This source is only used to compile and install the package.
</Item43>
+
  }
 +
  unit Zcore;
 +
  interface
 +
  uses
 +
    Zclasses, Zcollections, Zcompatibility, Zexprparser, Zexprtoken, Zexpression,
 +
    Zfunctions, Zmatchpattern, Zmessages, Zsysutils, Ztokenizer, Zvariables,
 +
    Zvariant;
 +
  implementation
 +
  end.          
 +
</syntaxhighlight>
  
Jetzt folgen die Installationsanweisungen:
+
* 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:
  
Vor Lazarus 0.9.13 müssen sie jedes der Zeos Packages öffnen mittels Komponenten -> Paketdatei (.lpk) öffnen in der folgenden Reihenfolge:
+
  rename -v 'y/A-Z/a-z/' *
  
# zcore.lpk
+
== Anmerkungen ==
# zparsesql.lpk
 
# zplain.lpk
 
# zdbc.lpk
 
  
 +
== Erstellen Ihrer ersten Zeos-Anwendung ==
  
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.
+
* 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.
  
Notiz: Die ersten vier Packages müssen nur kompiliert werden und können nicht installiert werden.
+
* 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.
  
--[[User:Forest|Forest]] 17:41, 2 Nov 2005 (CET)
+
* Legen Sie eine '''DataSource''' vom '''[Data Access]''' Tab ab.
 +
** Setzen Sie DataSet auf Ihre aktive ZQuery.
  
* 3. Wenn sie Zeos erfolgreich kompiliert und installiert haben, aber Lazarus nach dem Neustart startet mit:
+
* Legen Sie ein '''DBGrid''' vom '''[Data Controls]''' Tab ab.
[[Image:Zeoserror.gif]]
+
** Setzen Sie Datasource auf Ihre DataSource.
 +
** Wenn alles ok ist, sollten Sie jetzt die Datensätze aus Ihrer Tabelle sehen.
  
dann können sie folgendes tun:
+
== Mögliche Bugs und Probleme ==
  
In der Zeos.Inc Datei ersetzen sie im Abschnitt "// Settings for Debug mode":
+
# Ich habe bemerkt, dass manchmal wenn Lazarus erstellt wird, einige Zeos-Dateien nicht gefunden werden, als provisorische Hilfe versuchen Sie dies:
{$R-}
+
#* Benutzen Sie '''Komponenten/Paketgraph''' im Hauptmenü.
mit
+
#* Öffnen Sie das '''ZComponent''' Package.
{$R+}
+
#* 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>
  
--[[User:Junior|Junior]] 19:48, 15 Apr 2006 (GMT)
+
==Weitere Informationen==
  
== Erstellen ihrer ersten Zeos Anwendung ==
+
* [http://zeoslib.sourceforge.net/index.php Forum für ZeosLib]
 
+
* [[ZeosDBO]]
* Legen sie eine '''ZConnection''' ab (auf ihrem Formular).
+
* [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 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>).
 
** 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.<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