Install Packages/de

From Free Pascal wiki
Jump to navigationJump to search

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