Difference between revisions of "Install Packages/de"

From Free Pascal wiki
Jump to navigationJump to search
m (language corrections)
 
(11 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
{{Install Packages}}
 
{{Install Packages}}
 
+
<br>
 +
Zurück zu den [[Additional information/de|Zusätzlichen Informationen]].<br>
 +
<br>
 
== Überblick ==
 
== Überblick ==
  
Wegen beliebter Nachfragen ist hier ein erster Versuch, ein kleines "Wie man Packages installiert" zu entwerfen.
+
Auf vielfache Anfrage ist hier ein erster Versuch, ein kleines "Wie man Packages installiert" zu entwerfen.
  
  
 
Nach der Installation von Lazarus wundern sich viele Anfänger, wo die Komponenten für die Handhabung einer Datenbank sind. Sie können eine Datasource und einige datensensitive Komponenten sehen, aber wo sind die Komponenten für die Verbindung zu einer Datenbank (Server) und zum Abrufen der Daten von diesem Server?
 
Nach der Installation von Lazarus wundern sich viele Anfänger, wo die Komponenten für die Handhabung einer Datenbank sind. Sie können eine Datasource und einige datensensitive Komponenten sehen, aber wo sind die Komponenten für die Verbindung zu einer Datenbank (Server) und zum Abrufen der Daten von diesem Server?
  
Lassen sie uns umsehen, ob wir etwas über dieses Thema finden können.
+
Lassen Sie uns umsehen, ob wir etwas über dieses Thema finden können.
  
 
== Dateien, die mit Lazarus installiert werden ==
 
== Dateien, die mit Lazarus installiert werden ==
  
Unter Linux wird Lazarus per Voreinstellung in '''/usr/share/lazarus''' installiert, unter Windows gibt ihnen der Installer die Wahl, wo die Dateien installiert werden sollen, so lange es keine Leerzeichen im Pfad gibt. Auf meinem Windows PC wurde Lazarus in '''G:/Lazarus''' installiert. Was auch immer der Basispfad ihrer Lazarus Installation ist, dort werden sie einige Unterverzeichnisse finden. In diesem Fall schaut das erste Unterverzeichnis (alphabetisch gesehen) eher erfolgversprechend aus für unser Ziel, da es den Namen '''components''' hat.
+
Unter Linux wird Lazarus per Voreinstellung in '''/usr/share/lazarus''' installiert, unter Windows überlässt ihnen der Installer die Wahl, wo die Dateien installiert werden sollen, so lange es keine Leerzeichen im Pfad gibt. Auf meinem Windows PC wurde Lazarus in '''G:/Lazarus''' installiert. Was auch immer der Basispfad ihrer Lazarus Installation ist, dort werden Sie einige Unterverzeichnisse finden. In diesem Fall schaut das erste Unterverzeichnis (alphabetisch gesehen) eher erfolgversprechend aus für unser Ziel, da es den Namen '''components''' hat.
  
Wie sie sehen können, gibt es dort einige Unterverzeichnisse, welche an Datenbanken erinnern. Man sieht ein '''Interbase''', ein '''mysql''', ein '''sqlite''' und ein '''sqldb''' Verzeichnis. Die ersten drei enthalten Datenbank Verbindungskomponenten und TDataset Nachkommen für die jeweiligen Datenbanken. Das letzte, '''sqldb''', ist allgemeiner, da es aus TSQLQuery (ein TDataset) und TSQLTransaction besteht, welche für alle Datenbanken-Typen benutzt werden und einer T??Connection, um die Verbindung zur Datenbank herzustellen.
+
Wie Sie sehen können, gibt es dort einige Unterverzeichnisse, welche an Datenbanken erinnern. Man sieht ein '''Interbase''', ein '''mysql''', ein '''sqlite''' und ein '''sqldb''' Verzeichnis. Die ersten drei enthalten Datenbank Verbindungskomponenten und TDataset Nachkommen für die jeweiligen Datenbanken. Das letzte, '''sqldb''', ist allgemeiner, da es aus TSQLQuery (ein TDataset) und TSQLTransaction besteht, welche für alle Datenbanken-Typen benutzt werden und einer T??Connection, um die Verbindung zur Datenbank herzustellen.
 
In diesem Artikel werden wir das sqldb-Package installieren zusammen mit der Verbindung für Interbase.
 
In diesem Artikel werden wir das sqldb-Package installieren zusammen mit der Verbindung für Interbase.
  
''In der aktuellen Lazarus Version ist das sqldb-Package per Voreinstellung installiert.''
+
''In der aktuellen Lazarus Version ist das sqldb-Package per Voreinstellung installiert. In sofern sind die folgenden Abschnitte eigentlich überflüssig. Da man aber daraus die allgemeine Vorgehensweise erkennen kann, ist es trotzdem sinnvoll, den Text so beizubehalten. Alles was also in den neueren Versionen bereits vorhanden ist, ist im folgenden Text deshalb durchgestrichen.''
  
 
== Die eigentliche Arbeit ==
 
== Die eigentliche Arbeit ==
 
=== Erstens: Das Weshalb ===
 
=== Erstens: Das Weshalb ===
Bevor wir beginnen, ein Package zu installieren, wird diskutiert, weshalb Lazarus die Datenbank Verbindungskomponenten nicht installiert. Datenbank Verbindungskomponenten benötigen auf dem PC verfügbare Client Bibliotheken, auf dem die Komponenten verwendet werden. Wegen der Tatsache, dass Lazarus im Moment dynamisches Linken nicht unterstützt, müssen alle Bibliotheken in die IDE hinein kompiliert werden. Da sie nicht erwarten können, dass jeder Entwickler alle Datenbanken installiert hat, ist es nicht möglich, die Verbindungskomponenten per Voreinstellung zu installieren.
+
Bevor wir beginnen, ein Package zu installieren, wird diskutiert, weshalb Lazarus die Datenbank Verbindungskomponenten nicht installiert. Datenbank Verbindungskomponenten benötigen auf dem PC verfügbare Client Bibliotheken, auf dem die Komponenten verwendet werden. Wegen der Tatsache, dass Lazarus im Moment dynamisches Linken nicht unterstützt, müssen alle Bibliotheken in die IDE hinein kompiliert werden. Da Sie nicht erwarten können, dass jeder Entwickler alle Datenbanken installiert hat, ist es nicht möglich, die Verbindungskomponenten per Voreinstellung zu installieren.
 +
 
 +
Dynamisches Linken bedeutet: Neben dem Code gibt es noch eine oder mehrere Bibliothek(en, meisten DLLs), die am Zielrechner vorhanden sein müssen. Bei Aufruf des Programms wird der Code in der DLL aufgerufen, das Programm selber ist dadurch schlanker. Dynamisch kann sogar bedeuten, dass nach Programm-Prüfung nur die Funktionen möglich sind, zu denen die Bibliotheken vorhanden sind.
 +
 
 +
Statisches Linken bedeutet: Zur '''Entwicklungszeit''' sind die Bibliotheken vorhanden(, bei Lazarus lpk-Dateien). Beim Compilieren wird geprüft, ob alle gewünschten Pakete vorhanden sind, Sie werden dann in das Programm beim Linken eingebunden. Das Programm wird dadurch zwar größer, aber ausgeliefert werden braucht dann nur ein einziges Programm.
  
 
=== Zweitens: Aber Delphi ...? ===
 
=== Zweitens: Aber Delphi ...? ===
 
Delphi installiert auch nur die Datenbankkomponenten, welche fertig auf dem Computer (ADO Komponenten)verfügbar sind und Komponenten, welche keine installierten Client Bibliotheken benötigen (BDE: Paradox, dBase).
 
Delphi installiert auch nur die Datenbankkomponenten, welche fertig auf dem Computer (ADO Komponenten)verfügbar sind und Komponenten, welche keine installierten Client Bibliotheken benötigen (BDE: Paradox, dBase).
  
=== Drittens: Lassen sie uns etwas installieren ===
+
=== Drittens: Lassen Sie uns etwas installieren ===
Um ein Package zu installieren, gehen sie auf "Komponenten -> Paketdatei (.lpk) öffnen"
+
Um ein Package zu installieren, gehen Sie auf "Komponenten -> Paketdatei (.lpk) öffnen"
Im folgenden Dialog navigieren sie zu '''/usr/share/lazarus/components/sqldb''' oder dem entsprechenden Verzeichnis unter Windows und wählen die Datei '''sqldblaz.lpk''' aus. Wenn alles wie geplant läuft, werden sie den Package Manager sehen. Der Package Manager zeigt eine Baumansicht mit den Dateien im Package und den benötigten Packages. Drücken sie jetzt '''Kompilieren''', wenn die Komponente nicht in die IDE installiert werden soll, andernfalls drücken sie '''Installieren''' (beinhaltet die Kompilierung). Als nächstes erhalten wir eine Warnung, dass Lazarus nur statisch gelinkte Bibliotheken unterstützt und die Frage, ob sie Lazarus neu erstellen wollen. Drücken sie einfach Ja und lehnen sie sich zurück. Lazarus wird neu erstellt, und abhängig von ihrer Konfiguration neu gestartet.
+
Im folgenden Dialog navigieren Sie zu '''/usr/share/lazarus/components/sqldb''' oder dem entsprechenden Verzeichnis unter Windows und wählen die Datei '''sqldblaz.lpk''' aus. Wenn alles wie geplant läuft, werden Sie den Packagemanager sehen. Der Packagemanager zeigt eine Baumansicht mit den Dateien im Package und den benötigten Packages. Drücken Sie jetzt '''Kompilieren''', wenn die Komponente nicht in die IDE installiert werden soll, andernfalls drücken Sie '''Installieren''' (beinhaltet die Kompilierung). Als nächstes erhalten wir eine Warnung, dass Lazarus nur statisch gelinkte Bibliotheken unterstützt und die Frage, ob Sie Lazarus neu erstellen wollen. Drücken Sie einfach 'Ja' und lehnen Sie sich zurück. Lazarus wird neu erstellt, und abhängig von Ihrer Konfiguration neu gestartet.
  
Wenn alles gut gelaufen ist, werden sie einen neuen Tab '''SQLdb''' sehen. Dieser Tab enthält <strike>zwei Komponenten, eine TSQLConnection und eine TSQLQuery. Als nächstes benötigen wir eine Verbindungskomponente. Gehen sie erneut auf Komponenten -> Paketdatei (.lpk) öffnen und navigieren zu '''/usr/share/lazarus/components/sqldb/interbase'''. Öffnen sie die Datei ibconnectionlaz.lpk und drücken sie erneut Kompilieren und Installieren und Ja. :)
+
Wenn alles gut gelaufen ist, werden Sie einen neuen Tab '''SQLdb''' sehen. Dieser Tab enthält <strike>zwei Komponenten, eine TSQLConnection und eine TSQLQuery. Als nächstes benötigen wir eine Verbindungskomponente. Gehen Sie erneut auf Komponenten -> Paketdatei (.lpk) öffnen und navigieren zu '''/usr/share/lazarus/components/sqldb/interbase'''. Öffnen Sie die Datei ibconnectionlaz.lpk und drücken Sie erneut Kompilieren und Installieren und Ja. :)
  
 
Wenn Lazarus das nächste Mal gestartet wird, enthält der SQLdb Tab auch eine Komponente TIBConnection.</strike>
 
Wenn Lazarus das nächste Mal gestartet wird, enthält der SQLdb Tab auch eine Komponente TIBConnection.</strike>
Line 37: Line 43:
  
 
== Sonst noch etwas? ==
 
== Sonst noch etwas? ==
Das ist alles, was es dazu gibt. Es liegt nun an ihnen, ihr erstes Programm mit einer Verbindung zu einem Interbase Server zu erstellen. Schauen sie in diesen [http://prdownloads.sourceforge.net/lazarus-ccr/IBdemo-20050328.zip?download Quellen], um ein kleines Beispiel herunter zu laden. Wenn sie noch Fragen haben, gehen sie zum Lazarus [http://www.lazarus.freepascal.org/index.php?name=PNphpBB2&file=index Forum] oder posten die Frage in der Lazarus Mailing Liste.
+
Das ist alles, was es dazu gibt. Es liegt nun an Ihnen, Ihr erstes Programm mit einer Verbindung zu einem Interbase Server zu erstellen. Schauen Sie in diese [http://prdownloads.sourceforge.net/lazarus-ccr/IBdemo-20050328.zip?download Quellen], um ein kleines Beispiel herunterzuladen. Wenn Sie noch Fragen haben, gehen Sie zum Lazarus [http://www.lazarus.freepascal.org/index.php?name=PNphpBB2&file=index Forum] oder posten Sie die Frage in der Lazarus-Mailingliste.
  
 
== Kompilierung einer IDE mit Packages auf der Kommandozeile ==
 
== Kompilierung einer IDE mit Packages auf der Kommandozeile ==
Es gibt noch kein Kommandozeilen-Werkzeug, um die IDE Konfigurationsdateien zu konfigurieren und einzurichten, um Packages hinzu zu fügen/zu entfernen. Sie müssen dies mit einer IDE einrichten, die Konfigurationen kopieren und den Pfad anpassen.  
+
Es gibt noch kein Kommandozeilen-Werkzeug, um die IDE Konfigurationsdateien zu konfigurieren und einzurichten, um Packages hinzuzufügen/zu entfernen. Sie müssen dies mit einer IDE einrichten, die Konfigurationen kopieren und den Pfad anpassen.
 +
Details finden Sie hier: [[Install IDE packages without the IDE]].
 
Aber der Rest kann in der Kommandozeile erledigt werden:
 
Aber der Rest kann in der Kommandozeile erledigt werden:
  
=== Zuerst erstellen sie eine normale IDE und LCL ===
+
=== Zuerst erstellen Sie eine normale IDE und LCL ===
 
   make clean all
 
   make clean all
=== Dann kompilieren sie die Packages ===
+
=== Dann kompilieren Sie die IDE mit den Packages ===
Die IDE kann ein Makefile für ein Package erstellen (Projekt -> Compilereinstellungen -> Übersetzen).
+
 
Das Makefile wird bei jeder Kompilierung des Packages aktualisiert.
+
Dadurch werden die zu installierenden Packages erstellt, dann die IDE und zuletzt wird alles zusammen gelinkt:
Sobald sie dieses Makefile haben, gehen sie in jedes Packageverzeichnis und tippen 'make' ein.
+
lazbuild --build-ide=
 +
 
 +
Der Parameter ''--build-ide'' kann einige Optionen, for example -gh for heaptrc or '-gh -gt'.
 +
 
 +
==Siehe auch==
 +
 
 +
* [[Lazarus Packages/de]]
  
=== Letztendlich kompilieren sie die IDE mit den Packages ===
+
[[Category:Lazarus/de]]
  make idepkg
+
[[Category:Tutorials/de]]{{AutoCategory}}

Latest revision as of 17:03, 1 October 2019

Deutsch (de) English (en) español (es) français (fr) magyar (hu) 日本語 (ja) português (pt) русский (ru) slovenčina (sk) 中文(中国大陆)‎ (zh_CN) 中文(台灣)‎ (zh_TW)

Zurück zu den Zusätzlichen Informationen.

Überblick

Auf vielfache Anfrage ist hier ein erster Versuch, ein kleines "Wie man Packages installiert" zu entwerfen.


Nach der Installation von Lazarus wundern sich viele Anfänger, wo die Komponenten für die Handhabung einer Datenbank sind. Sie können eine Datasource und einige datensensitive Komponenten sehen, aber wo sind die Komponenten für die Verbindung zu einer Datenbank (Server) und zum Abrufen der Daten von diesem Server?

Lassen Sie uns umsehen, ob wir etwas über dieses Thema finden können.

Dateien, die mit Lazarus installiert werden

Unter Linux wird Lazarus per Voreinstellung in /usr/share/lazarus installiert, unter Windows überlässt ihnen der Installer die Wahl, wo die Dateien installiert werden sollen, so lange es keine Leerzeichen im Pfad gibt. Auf meinem Windows PC wurde Lazarus in G:/Lazarus installiert. Was auch immer der Basispfad ihrer Lazarus Installation ist, dort werden Sie einige Unterverzeichnisse finden. In diesem Fall schaut das erste Unterverzeichnis (alphabetisch gesehen) eher erfolgversprechend aus für unser Ziel, da es den Namen components hat.

Wie Sie sehen können, gibt es dort einige Unterverzeichnisse, welche an Datenbanken erinnern. Man sieht ein Interbase, ein mysql, ein sqlite und ein sqldb Verzeichnis. Die ersten drei enthalten Datenbank Verbindungskomponenten und TDataset Nachkommen für die jeweiligen Datenbanken. Das letzte, sqldb, ist allgemeiner, da es aus TSQLQuery (ein TDataset) und TSQLTransaction besteht, welche für alle Datenbanken-Typen benutzt werden und einer T??Connection, um die Verbindung zur Datenbank herzustellen. In diesem Artikel werden wir das sqldb-Package installieren zusammen mit der Verbindung für Interbase.

In der aktuellen Lazarus Version ist das sqldb-Package per Voreinstellung installiert. In sofern sind die folgenden Abschnitte eigentlich überflüssig. Da man aber daraus die allgemeine Vorgehensweise erkennen kann, ist es trotzdem sinnvoll, den Text so beizubehalten. Alles was also in den neueren Versionen bereits vorhanden ist, ist im folgenden Text deshalb durchgestrichen.

Die eigentliche Arbeit

Erstens: Das Weshalb

Bevor wir beginnen, ein Package zu installieren, wird diskutiert, weshalb Lazarus die Datenbank Verbindungskomponenten nicht installiert. Datenbank Verbindungskomponenten benötigen auf dem PC verfügbare Client Bibliotheken, auf dem die Komponenten verwendet werden. Wegen der Tatsache, dass Lazarus im Moment dynamisches Linken nicht unterstützt, müssen alle Bibliotheken in die IDE hinein kompiliert werden. Da Sie nicht erwarten können, dass jeder Entwickler alle Datenbanken installiert hat, ist es nicht möglich, die Verbindungskomponenten per Voreinstellung zu installieren.

Dynamisches Linken bedeutet: Neben dem Code gibt es noch eine oder mehrere Bibliothek(en, meisten DLLs), die am Zielrechner vorhanden sein müssen. Bei Aufruf des Programms wird der Code in der DLL aufgerufen, das Programm selber ist dadurch schlanker. Dynamisch kann sogar bedeuten, dass nach Programm-Prüfung nur die Funktionen möglich sind, zu denen die Bibliotheken vorhanden sind.

Statisches Linken bedeutet: Zur Entwicklungszeit sind die Bibliotheken vorhanden(, bei Lazarus lpk-Dateien). Beim Compilieren wird geprüft, ob alle gewünschten Pakete vorhanden sind, Sie werden dann in das Programm beim Linken eingebunden. Das Programm wird dadurch zwar größer, aber ausgeliefert werden braucht dann nur ein einziges Programm.

Zweitens: Aber Delphi ...?

Delphi installiert auch nur die Datenbankkomponenten, welche fertig auf dem Computer (ADO Komponenten)verfügbar sind und Komponenten, welche keine installierten Client Bibliotheken benötigen (BDE: Paradox, dBase).

Drittens: Lassen Sie uns etwas installieren

Um ein Package zu installieren, gehen Sie auf "Komponenten -> Paketdatei (.lpk) öffnen" Im folgenden Dialog navigieren Sie zu /usr/share/lazarus/components/sqldb oder dem entsprechenden Verzeichnis unter Windows und wählen die Datei sqldblaz.lpk aus. Wenn alles wie geplant läuft, werden Sie den Packagemanager sehen. Der Packagemanager zeigt eine Baumansicht mit den Dateien im Package und den benötigten Packages. Drücken Sie jetzt Kompilieren, wenn die Komponente nicht in die IDE installiert werden soll, andernfalls drücken Sie Installieren (beinhaltet die Kompilierung). Als nächstes erhalten wir eine Warnung, dass Lazarus nur statisch gelinkte Bibliotheken unterstützt und die Frage, ob Sie Lazarus neu erstellen wollen. Drücken Sie einfach 'Ja' und lehnen Sie sich zurück. Lazarus wird neu erstellt, und abhängig von Ihrer Konfiguration neu gestartet.

Wenn alles gut gelaufen ist, werden Sie einen neuen Tab SQLdb sehen. Dieser Tab enthält zwei Komponenten, eine TSQLConnection und eine TSQLQuery. Als nächstes benötigen wir eine Verbindungskomponente. Gehen Sie erneut auf Komponenten -> Paketdatei (.lpk) öffnen und navigieren zu /usr/share/lazarus/components/sqldb/interbase. Öffnen Sie die Datei ibconnectionlaz.lpk und drücken Sie erneut Kompilieren und Installieren und Ja. :)

Wenn Lazarus das nächste Mal gestartet wird, enthält der SQLdb Tab auch eine Komponente TIBConnection.

inzwischen alle unterstützten Komponenten.

Sonst noch etwas?

Das ist alles, was es dazu gibt. Es liegt nun an Ihnen, Ihr erstes Programm mit einer Verbindung zu einem Interbase Server zu erstellen. Schauen Sie in diese Quellen, um ein kleines Beispiel herunterzuladen. Wenn Sie noch Fragen haben, gehen Sie zum Lazarus Forum oder posten Sie die Frage in der Lazarus-Mailingliste.

Kompilierung einer IDE mit Packages auf der Kommandozeile

Es gibt noch kein Kommandozeilen-Werkzeug, um die IDE Konfigurationsdateien zu konfigurieren und einzurichten, um Packages hinzuzufügen/zu entfernen. Sie müssen dies mit einer IDE einrichten, die Konfigurationen kopieren und den Pfad anpassen. Details finden Sie hier: Install IDE packages without the IDE. Aber der Rest kann in der Kommandozeile erledigt werden:

Zuerst erstellen Sie eine normale IDE und LCL

 make clean all

Dann kompilieren Sie die IDE mit den Packages

Dadurch werden die zu installierenden Packages erstellt, dann die IDE und zuletzt wird alles zusammen gelinkt:

lazbuild --build-ide=

Der Parameter --build-ide kann einige Optionen, for example -gh for heaptrc or '-gh -gt'.

Siehe auch