www.developpez.com


Inscrivez-vous dès maintenant
à la lettre d'information développeurs
K Y L I X


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

  • Borland France ( C'est là que tout a commencé, c'est là qu'on trouve les dernières infos ! )
  • DiffusLog ( Centre Officiel de Mise à Jour BORLAND INPRISE )

* Les sources sont sous the GNU General Public License - [Retour]


Paul TOTH

Hit-Parade


Vos questions techniques : Forum d'entraide Kylix - Publiez vos avis, liens, cours & articles : Publication
et rejoignez-nous dans l'équipe de rédaction de l'Association d'entraide des développeurs Francophones
Copyright 2000 www.developpez.com