Kylix FREE* Components !
par
Paul
TOTH
Kylix n'est pas
encore commercialisé, cette page concerne la version BETA 4 |
Installation de Kylix beta 4
Je ne suis pas un expert
de Linux, mais j'ai eu l'occasion de l'installer à plusieurs reprises
(vu que quand j'ai un problème la réinstall est la seule solution
que je connaisse :))
Cette version (une beta, je le rappelle)
nécessite un installation Linux nickel, ce qui n'était pas le cas
de la mienne...l'installation a donc pris plus de temps que
prévu.
Voici finallement une installation qui fonctionne :
- Mandrake 7.0 (CDROM n°95 de la revue PC Expert)
- Installation Personnalisée Développeur
- Application du patch livré avec Kylix :
rpm -U
glibc-2.1.3-16mdkB.i586.rpm
- Lancement du setup (avec option -m, pour l'erreur
"-10"):
sh
setup.sh -m
Premières impressions
l'IDE de Kylix est
quasiment identique à celui de Delphi 5, pas de surprise (si ce n'est
une telle ressemblance !).
Comme lors de l'installation de Delphi, ma
première tentation à été de prendre les exemples
livrés "pour voir"...
Dommage, les exemples ne compiles pas...la CLX
reste en chantier sur cette beta :)
Après un rapide "hello world" je
m'attaque à plus sérieux, mon projet Delphi en cours :)
Première application
Avant de recevoir la beta
4, je travaillais sur un afficheur de modèles Quake2 (fichiers .MD2)
avec mon bon vieux Delphi 2 (projet compatible Delphi 5)...alors mon choix a
été rapide, essayons de compiler ça sous Kylix.
Ben
ça marche pas, mais je le savais d'avance, ne serais ce que parce que
les unités de la CLX sont préfixées d'un '
Q'
:)
Le compilateur étant toujours aussi rapide (vive le Pascal), en un
rien de temps (et en lançant un projet vierge pour comparaison) il me
faut quelques minutes pour ajuster les
USES
.
uses
{$ifdef win32} //
Delphi Units Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs, ShellAPI,StdCtrls, ExtCtrls, {$else} // Kylix Units SysUtils, Types, Classes,
QGraphics, QControls, QForms, QDialogs, QExtCtrls, {$endif} MD2MAP, Scenes; |
Suppression du code Windows (qui n'est pas vital dans
cet exemple)
{$ifdef win32} //
Windows specific Drag&Drop ! procedure WMDropFiles(Var
Msg:TMessage); message WM_DROPFILES; {$endif} |
Retour à l'équivalent VCL pour le code
spécifique Windows vital !
{$ifdef
win32}
hFile:=CreateFile(PChar(fName),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if hFile=INVALID_HANDLE_VALUE then raise Exception.Create('Unable
to open file '+fName); hMap
:=CreateFileMapping(hFile,nil,PAGE_READONLY,0,0,nil); if
hMap=0 then raise exception.Create('Unable to Map file '+fName);
hPtr:=MapViewOfFile(hMap,FILE_MAP_READ,0,0,0); if hPtr=nil then
raise exception.Create('Unable to view file '+fName); {$else} Stream:=TMemoryStream.Create;
Stream.LoadFromFile(AFileName); hPtr:=Stream.Memory; {$endif} |
Derniers petits ajustements
{$ifdef win32} {$R
*.DFM} {$else} {$R *.xfm} // Kylix use "xfm" files where Delphi use "DFM" files
{$endif} |
{$ifdef win32} {$R
*.RES} // Delphi isn't case Sensitive {$else} {$R *.res} // Kylix IS case
Sensitive ! {$endif} |
Dernier petit détail, hors IDE, l'application
retourne une erreur
error in loading shared libraries:
libqtintf.so: cannot open shared object file: No such file or
directory
; il sagit de l'équivalent d'une DLL windows
qui n'est pas dans le "PATH"...en regardant le script
startkylix j'en ai
déduit le script suivant :
#!/bin/bash
echo "Starting MD2..."
LD_LIBRARY_PATH="/root/kylix/bin:$LD_LIBRARY_PATH"
export LD_LIBRARYPATH
./MD2
|
REM Equivalent DOS
echo "Starting MD2..."
PATH = c:\delphi\bin;%PATH%
MD2.EXE
|
Finallement voilà ce que ça donne :
MD2.ZIP (sources Delphi/Kylix)
Version Windows 98 |
Version
Mandrake 7.0 |
Conclusion
Borland a réussit son pari, partant
d'un compilateur Delphi 5ième génération sous Windows, ils
ont réussit à produire un outils de développement RAD sous
Linux aussi puissant et rapide que la version Windows !
Le plus fort
étant
l'incroyable ressemblance et
l'extrème
compatibilité des deux produits !
Dès la sortie de la
version finale (fin février) je passe mes applications serveur sous
Linux :)...et pour le côté client, j'ai toujours Delphi 5 for
Windows :)
Découvrez Delphi avec
- ( C'est là que tout a
commencé, c'est là qu'on trouve les dernières infos !
)
-
( Centre Officiel de Mise à Jour BORLAND INPRISE
)
* Les sources sont sous the
GNU General Public License -
[Retour]