Difference between revisions of "Install Packages"

From Lazarus wiki
Jump to navigationJump to search
 
Line 1: Line 1:
=Overview=
+
==Overview==
  
 
Due to popular demand a first attempt to create a small "Install package HOW-TO"
 
Due to popular demand a first attempt to create a small "Install package HOW-TO"
 
After installation of Lazarus a lot of starters wonder where the components for Database manipulation are. You can see a datasource and some data aware component, but where are the compontents to connect to a database (server) and to retreive data from this server.
 
After installation of Lazarus a lot of starters wonder where the components for Database manipulation are. You can see a datasource and some data aware component, but where are the compontents to connect to a database (server) and to retreive data from this server.
 
Well lets have a look if we can find some of this stuff.
 
Well lets have a look if we can find some of this stuff.
 +
 +
==Files installed with Lazarus==
 +
 +
Under Linux Lazarus gets installed by default in '''/usr/share/lazarus''', in Windows the installer gives you the choice where to install the files, as long as there are no spaces in its path. On my Windows PC Lazarus got installed in '''G:/Lazarus'''. Whatever the base path of your Lazarus installation is, you will find some subdirectories. In this case the first (alphabetically) sub directory looks rather promising to our goal as it is called '''components'''.
 +
 +
As you can see there are a few subdirectories here, which remind us of databases. One sees an '''Interbase''', a '''mysql''', a '''sqlite''' and a '''sqldb''' directory. The first three contain database connection components and TDataset descendants for the respectiv databases. The last one '''sqldb''' is more generic, as it consists of TQuery (a TDataset) and TSQLTransaction which are used for all types of databases and a T??Connection to make the connection to the database.
 +
In this article we will install the sqldb-package together with the connection for Interbase.
 +
 +
==The real work==
 +
===First: the why===
 +
Before we start installing a package I like to discuss the why of Lazarus not installing database connection components. Database connection components need the client libraries to be available on the PC where the components are used. Because of the fact that at the moment Lazarus doesnot support dynamic linking all libraries have to be compiled into the IDE. As you cannot expect every developper to have all databases installed it is not possible to install the connection components by default.
 +
===Second: But Delphi ...?===
 +
Delphi also installs only the database components which are readily available on the computer (ADO components) and components which do not need any client libraries (BDE: Paradox, DBase) to be installed.
 +
===Third: Lets install some stuff===
 +
To install a package one goes to Components -> Open Package File (.lpk)
 +
In the following dialog you navigate to '''/usr/share/lazarus/components/sqldb''' or the corresponding directory under Windows and choose the '''sqldblaz.lpk''' file. If everything works out as planned you will see the Package Manager. The Package Manager is showing a treeview with the files in the package and the Required Packages. Nothing to worry about lets just press '''Compile''' and when the compilation is finished press '''Install'''. Next we get a warning about Lazarus only supporting static linked libraries and the question if you want to rebuild Lazarus. Just press Yes and sit back. Lazarus will be rebuild and depending on your configuration restarted.
 +
 +
If everything went well you'll see a new tab called '''SQLdb'''. This tab will contain two components a TSQLConnection and a TSQLQuery. What we need next is a Connection component. Once again go to Components -> Open Package File and navigate to '''/usr/share/lazarus/components/sqldb/interbase'''. Open the ibconnectionlaz.lpk file and again press Compile and Install and Yes. :)
 +
 +
Next time Lazarus is started the SQLdb tab also contains a component TIBConnection.
 +
 +
==Anything else?==
 +
Well that is all there is to it. You're now set to make your first program connecting to an Interbase server. I'll try and get some sources to download with a small example. For now if you have any questions, use the lazarus [http://www.lazarus.freepascal.org/index.php?name=PNphpBB2&file=index forum] or the lazarus mailing list.
 +
 +
==Originbal contributors and changes==
 +
* Initial creation 20050328 by [[user:Matthijs Matthijs Willemstein]]

Revision as of 18:07, 28 March 2005

Overview

Due to popular demand a first attempt to create a small "Install package HOW-TO" After installation of Lazarus a lot of starters wonder where the components for Database manipulation are. You can see a datasource and some data aware component, but where are the compontents to connect to a database (server) and to retreive data from this server. Well lets have a look if we can find some of this stuff.

Files installed with Lazarus

Under Linux Lazarus gets installed by default in /usr/share/lazarus, in Windows the installer gives you the choice where to install the files, as long as there are no spaces in its path. On my Windows PC Lazarus got installed in G:/Lazarus. Whatever the base path of your Lazarus installation is, you will find some subdirectories. In this case the first (alphabetically) sub directory looks rather promising to our goal as it is called components.

As you can see there are a few subdirectories here, which remind us of databases. One sees an Interbase, a mysql, a sqlite and a sqldb directory. The first three contain database connection components and TDataset descendants for the respectiv databases. The last one sqldb is more generic, as it consists of TQuery (a TDataset) and TSQLTransaction which are used for all types of databases and a T??Connection to make the connection to the database. In this article we will install the sqldb-package together with the connection for Interbase.

The real work

First: the why

Before we start installing a package I like to discuss the why of Lazarus not installing database connection components. Database connection components need the client libraries to be available on the PC where the components are used. Because of the fact that at the moment Lazarus doesnot support dynamic linking all libraries have to be compiled into the IDE. As you cannot expect every developper to have all databases installed it is not possible to install the connection components by default.

Second: But Delphi ...?

Delphi also installs only the database components which are readily available on the computer (ADO components) and components which do not need any client libraries (BDE: Paradox, DBase) to be installed.

Third: Lets install some stuff

To install a package one goes to Components -> Open Package File (.lpk) In the following dialog you navigate to /usr/share/lazarus/components/sqldb or the corresponding directory under Windows and choose the sqldblaz.lpk file. If everything works out as planned you will see the Package Manager. The Package Manager is showing a treeview with the files in the package and the Required Packages. Nothing to worry about lets just press Compile and when the compilation is finished press Install. Next we get a warning about Lazarus only supporting static linked libraries and the question if you want to rebuild Lazarus. Just press Yes and sit back. Lazarus will be rebuild and depending on your configuration restarted.

If everything went well you'll see a new tab called SQLdb. This tab will contain two components a TSQLConnection and a TSQLQuery. What we need next is a Connection component. Once again go to Components -> Open Package File and navigate to /usr/share/lazarus/components/sqldb/interbase. Open the ibconnectionlaz.lpk file and again press Compile and Install and Yes. :)

Next time Lazarus is started the SQLdb tab also contains a component TIBConnection.

Anything else?

Well that is all there is to it. You're now set to make your first program connecting to an Interbase server. I'll try and get some sources to download with a small example. For now if you have any questions, use the lazarus forum or the lazarus mailing list.

Originbal contributors and changes