Difference between revisions of "Zeos tutorial/de"

From Free Pascal wiki
Jump to navigationJump to search
m
 
(29 intermediate revisions by 10 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===
 +
 
 +
Sie können Zeos einfach mittels SVN erhalten, wenn Sie diesen Schritten folgen:
  
=== Windows ===
+
==== Windows ====
  
* Besorgen sie sich einen SVN Client (z.B.[http://tortoisesvn.tigris.org TortoiseSVN]) und installieren sie diesen.
+
* 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]
 
* 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: svn://firmos.at/zeos
+
* machen Sie einen Checkout vom Windows Explorer aus: <nowiki>http://svn.code.sf.net/p/zeoslib/code-0/branches/testing</nowiki>
 +
 
 +
==== Linux/BSD ====
 +
 
 +
* 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>
  
=== Linux/BSD ===
+
===ZIP===
  
* Besorgen sie sich einen SVN Client (esvn, kdesvn, etc.)
+
Sie können sich die aktuelle Version als ZIP-Datei von sourceforge.net herunterladen: [http://sourceforge.net/projects/zeoslib/ http://sourceforge.net/projects/zeoslib/]
* Erstellen sie ein Verzeichnis ''zeosdbo'', gehen in das Verzeichnis und starten
 
* svn checkout svn://firmos.at/zeos
 
  
 
== Installieren der Komponenten ==
 
== Installieren der Komponenten ==
  
Dies ist ein komplizierter Teil. Daher sollten sie etwas Geduld haben und diesen Teil sorgfältig lesen.
+
* Starten Sie eine Instanz von Lazarus.
 +
 
 +
# 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.
  
* 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.
+
[[image:Zeos_Components.png]]
  
* Starten sie eine Instanz von Lazarus.
+
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).
  
# Benutzen sie '''Komponenten/Paketdatei (.lpk) öffnen''' im Hauptmenü.
+
Schreiben Sie alle Datei- und Verzeichnisnamen des zeoslib-Verzeichnisses in '''Klein'''buchstaben. (Mit dem freeware programm "freecommander" geht das z.B. ganz einfach)
# Gehen sie zu '''zeosdbo_rework\packages\lazarus\''' und öffnen '''zcomponent.lpk'''
+
In Lazarus öffen Sie danach wieder alle Packages (.lpk) und passen die Schreibweise der Dateinamen an, indem Sie anklicken :
# Drücken sie '''[Kompilieren]''' nur dann, wenn sie die Komponenten nicht in die IDE installieren wollen
+
"More..."/"Fix Files Case". Compile them.  
# 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.
 
  
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.
+
* 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.:
* Even if the cases match exactly, the autogenerated package source file can generate the wrong case name in the uses clause (Lazarus 0.9.18), i.e.:
 
  
 +
<syntaxhighlight lang="pascal">
 
   { This file was automatically created by Lazarus. Do not edit!
 
   { This file was automatically created by Lazarus. Do not edit!
 
     This source is only used to compile and install the package.
 
     This source is only used to compile and install the package.
Line 55: Line 66:
 
   implementation
 
   implementation
 
   end.           
 
   end.           
 +
</syntaxhighlight>
  
* Notice that Lazarus has named the unit ZClasses Zclasses, resulting in a naming conflict. Presumably this is a bug in Lazarus, not the Zeos packages. One way around this is to rename all the zeos source files to lowercase. Trawl through each subdirectory under src/ and execute this command in a bash window:
+
* 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/' *
 
   rename -v 'y/A-Z/a-z/' *
 
* Then, in Lazarus, reopen the package (.lpk) and fix the filename cases by clicking on "More..."/"Fix Files Case"
 
* The package should compile now.
 
  
 
== Anmerkungen ==
 
== Anmerkungen ==
  
Gegenwärtig hat Zeos CVS für Lazarus kaputte Packages.
+
== Erstellen Ihrer ersten Zeos-Anwendung ==
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:
+
* 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.
  
* 1. Ändern sie ZplainPostgreSql81.pas zu ZPlanPostgresSql8x.pas in zplain.lpk
+
* Legen Sie eine '''ZQuery''' ab (<font color=red>nicht mit ZReadOnlyQuery verwechseln</font>).
+
** Setzen Sie Connection auf ihre aktive ZConnection.
<Item22>
+
** Setzen Sie die SQL-Eigenschaft auf etwas wie '''SELECT * FROM MyTable'''
  <Filename Value="../../src/plain/ZPlainPostgreSql81.pas"/>
+
** Setzen Sie Active auf True.
  <UnitName Value="ZPlainPostgreSql8x"/>
 
</Item22>
 
 
  
* 2. Bereinigen sie die folgenden Schreibfehler in zdbc.lpk:
+
* Legen Sie eine '''DataSource''' vom '''[Data Access]''' Tab ab.
 +
** Setzen Sie DataSet auf Ihre aktive ZQuery.
  
a. Entfernen sie extra "/" von "build/" (entfernen sie dasjenige in den Anführungszeichen)
+
* 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.
  
<SearchPaths>
+
== Mögliche Bugs und Probleme ==
  <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:
 
 
 
# zcore.lpk
 
# zparsesql.lpk
 
# zplain.lpk
 
# 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.
 
 
 
--[[User:Forest|Forest]] 17:41, 2 Nov 2005 (CET)
 
 
 
* 3. Wenn sie Zeos erfolgreich kompiliert und installiert haben, aber Lazarus nach dem Neustart startet mit:
 
[[Image:Zeoserror.gif]]
 
 
 
dann können sie folgendes tun:
 
 
 
In der Zeos.Inc Datei ersetzen sie im Abschnitt "// Settings for Debug mode":
 
{$R-}
 
mit
 
{$R+}
 
 
 
--[[User:Junior|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 (<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>
+
# 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>
  
* [http://zeos.firmos.at/kb.php?mode=article&k=6 Die ZeosLib DBOs 6.1.5 - Mit Delphi 7 und Firebird 1.5]
+
==Weitere Informationen==
* [http://zeos.firmos.at/kb.php?mode=article&k=4 Überblick über die Zeos Database Objects Architecture]
 
* [http://zeos.firmos.at/kb.php?mode=article&k=5 Eine Einführung in das ZDBC API]
 
* Prüfen sie auch den [http://zeos.firmos.at/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 ==
+
* [http://zeoslib.sourceforge.net/index.php Forum für ZeosLib]
 +
* [[ZeosDBO]]
 +
* [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]
  
# 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