Sortie officielle de Lazarus 0.9.3.4
L'environnement de développement multiplateforme basé sur Free Pascal 2.6.0

Le , par Ph. B., Expert confirmé
Sortie officielle de Lazarus version 0.9.30.4
l'environnement de développement multiplateforme basé sur Free Pascal 2.6.0

Ce message est une traduction directe de l'annonce officielle que j'ai complétée en ce qui concerne les versions supportées car Windows XP avait été oublié...

L'équipe de Lazarus est heureuse d'annoncer la sortie de la version 0.9.30.4 de l'EDI. Cette version s'appuie sur FreePascal 2.6.0

Cette version est disponible au téléchargement sur SourceForge :
http://sourceforge.net/projects/lazarus/files/

Sélectionner votre CPU / SE / distribution, puis le répertoire 0.9.30.4.

Configuration minimale :
  • Windows : 98, 2k, XP, Vista, 7, 32 ou 64 bits
  • FreeBSD / Linux : gtk 2.8 ou qt4.5, 32 ou 64 bits
  • Mac OS X : 10.4, LCL disponible uniquement en 32 bits, bien que les applications non LCL puissent être en 64 bits

Le référentiel de tests de Lazarus situé à http://www.hu.freepascal.org/lazarus...azarus-stable/ a également été mis à jour.

La nouveauté principale de cette version est qu'elle a été construite avec une version récente de FPC, la 2.6.0 alors que la version précédente 0.9.30.2 l'était avec FPC 2.4.4.
De plus, cette version contient quelques corrections de bogues fusionnés à partir de la version 0.9.31.

Cette version sera la dernière de la série 0.9.30.x. La prochaine version sera compilée depuis une nouvelle branche créée à partir du tronc commun.

Qu'en pensez-vous ?

--
Philippe.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Jon Shannow Jon Shannow - Membre expert http://www.developpez.com
le 16/03/2012 à 8:37
Bonjour,

et merci pour l'info.

Juste une question. Pour l'installer que faut-il faire ? Désinstaller la version précédente ? Et quid des paquets persos ?

JS

PS : Je sous windows Seven Pro 32bits.
Avatar de Ph. B. Ph. B. - Expert confirmé http://www.developpez.com
le 16/03/2012 à 9:18
Bonjour,
Citation Envoyé par Jon Shannow  Voir le message
Juste une question. Pour l'installer que faut-il faire ? Désinstaller la version précédente ? Et quid des paquets persos ?
PS : Je sous windows Seven Pro 32bits.

Je suis sous Windows XP Perso 32bits. Comme à chaque fois, j'ai préféré désinstaller entièrement la version précédente, nettoyer les répertoires, la base de registre puis enfin installer la nouvelle version ainsi que les paquets complémentaires que j'avais antérieurement...
Pour les paquets, je le rappelle, vous êtes obligés de les réinstaller car ils sont liés statiquement à l'EDI (pas de BPL dynamique comme avec Delphi).
Pour information j'ai un souci avec les composants ZEOS 6.6.6 sur lequel je suis en train d'enquêter :
Compiling C:\lazarus\zeosdbo-6.6.6\src\core\ZClasses.pas
C:\lazarus\zeosdbo-6.6.6\src\core\ZClasses.pas(84,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall;" found

D'autres paquets comme UIB ou des paquets "perso" ont été parfaitement réinstallés...
--
Philippe.
Avatar de Jon Shannow Jon Shannow - Membre expert http://www.developpez.com
le 16/03/2012 à 9:31
Citation Envoyé par Ph. B.  Voir le message
Bonjour,
Je suis sous Windows XP Perso 32bits. Comme à chaque fois, j'ai préféré désinstaller entièrement la version précédente, nettoyer les répertoires, la base de registre puis enfin installer la nouvelle version ainsi que les paquets complémentaires que j'avais antérieurement...
Pour les paquets, je le rappelle, vous êtes obligés de les réinstaller car ils sont liés statiquement à l'EDI (pas de BPL dynamique comme avec Delphi).
Pour information j'ai un souci avec les composants ZEOS 6.6.6 sur lequel je suis en train d'enquêter :

D'autres paquets comme UIB ou des paquets "perso" ont été parfaitement réinstallés...
--
Philippe.

OK, merci pour ces infos.
Comme j'utilise ZEOS, je vais attendre un peu avant d'installer cette mise à jour.
Avatar de Ph. B. Ph. B. - Expert confirmé http://www.developpez.com
le 16/03/2012 à 10:43
Citation Envoyé par Jon Shannow  Voir le message
OK, merci pour ces infos.
Comme j'utilise ZEOS, je vais attendre un peu avant d'installer cette mise à jour.

En fait c'est lié à FPC 2.6.0 et à des changements de prototypage des fonctions User Changes 2.6.0
Sur le référentiel SVN de Zeos a été appliqué un patch (révision 967 du 18/01/12) qui prend en compte ces évolutions. Le sujet est évoqué ICI

Je n'ai pas le temps d'aller plus avant dans l'immédiat, mais ce sont AMHA les pistes à suivre...
--
Philippe
Avatar de Ph. B. Ph. B. - Expert confirmé http://www.developpez.com
le 26/04/2012 à 22:15
Bonjour à tous,

J'avais laissé le sujet relatif à ZEOS en suspens et peut-être certains d'entre vous l'ont résolu. Quoi qu'il en soit, voici comme j'ai procédé pour y parvenir moi aussi :
1° étape : lors de la compilation du paquet, l'erreur suivante était levée :
C:\lazarus\components\ZeosDBO\src\core\ZClasses.pas(84,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall;" found

Ce point est lié à l'adoption d'une version plus récente du compilateur (FPC 2.6.0 en lieu et place de FPC 2.4.4) comme je l'avais indiqué précédemment.

On peut le résoudre comme suit pour la partie interface (ligne 84) et implémentation (ligne 225) de l'unité ZClasses.pas. Les anciennes lignes sont placées en commentaires.
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
unit ZClasses; 
//... 
  TContainedObject = class(TAggregatedObject, IInterface) 
  protected 
    function QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGuid; out Obj): longint;{$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; 
    //function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall; 
  end; 
//... 
function TContainedObject.QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGuid; out Obj): longint; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; 
//function TContainedObject.QueryInterface(const IID: TGUID; out Obj): HResult; 
begin 
  if GetInterface(IID, Obj) then 
    Result := S_OK 
  else 
    Result := E_NOINTERFACE; 
end;
2° étape : la compilation lève une autre erreur dans l'unité ZAbstractRODataset.pas, ligne 3116 :
C:\lazarus\zeosdbo-6.6.6\src\component\ZAbstractRODataset.pas(3116,48) Error: Expected another 2 array elements

En fait le paquet ZEOS lors de son implémentation ignorait l'existence de FPC version 2.6 ou supérieure et certains defines sont de fait manquants. Cf. le Wiki qui en parle.
On peut le résoudre comme suit en éditant le fichier Zeos.inc :
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
  // The higher the third number in a version, the better... (we hope) 
  {$IFDEF VER2_6}          // Bloc rajouté pour prendre en compte FPC 2.6 
    {$DEFINE FPC2_5UP} 
    {$DEFINE FPC2_4UP} 
    {$DEFINE FPC2_3UP} 
    {$DEFINE FPC2_2UP} 
    {$DEFINE FPC2_1UP} 
  {$ENDIF} 
 
  {$IFDEF VER2_5} 
//...
Il faudrait procéder de même pour FPC 2.7.x...

On en a fini. La compilation va alors à son terme et le paquet et ses composants doivent être installés comme à l'habitude...

Cette solution doit certainement être applicable aux couples Lazarus 0.9.31+ et FPC 2.7+...
--
Philippe.
Avatar de Squeak Squeak - Membre habitué http://www.developpez.com
le 28/04/2012 à 22:26
Ce n'est pas encore dans cette version mais on dirait qu'à l'avenir, une des fonctionnalités fort appréciée des utilisateurs de Delphi sera disponible dans Lazarus et on en parle assez discrètement (et je n'ai pas retrouvé des infos dans ce forum) :

Importer des composants ActiveX

http://wiki.freepascal.org/LazActiveX

Visiblement dans la version de développement 1.1 c'est disponible. Je n'ai pas encore testé mais ça pourrait devenir fort intéressant.
Avatar de Ph. B. Ph. B. - Expert confirmé http://www.developpez.com
le 29/04/2012 à 11:29
Citation Envoyé par Squeak  Voir le message
Ce n'est pas encore dans cette version mais on dirait qu'à l'avenir, une des fonctionnalités fort appréciée des utilisateurs de Delphi sera disponible dans Lazarus et on en parle assez discrètement (et je n'ai pas retrouvé des infos dans ce forum) :

Importer des composants ActiveX

Utilisateur de Delphi de la 1° heure et toujours aujourd'hui (D2, D3, D5, D7, D2006, DXE2), je dois dire que c'est une fonctionnalité que j'ai extrêmement peu utilisée. A contrario de l’interfaçage statique ou dynamique avec des bibliothèques tierces ou système. Et je ne pense pas être le seul...

De plus on s'éloigne dans ce cas d'un des buts poursuivis par Lazarus qui est :
"write once, compile everywhere" et qui nous limite à rester en environnement exclusivement Windows...
Citation Envoyé par Squeak  Voir le message
Visiblement dans la version de développement 1.1 c'est disponible. Je n'ai pas encore testé mais ça pourrait devenir fort intéressant.

A ce titre, Je mentionne ce message en anglais :
Lazarus 1.0 branched. Planned release within three months. Release candidates comming.
Il évoque la sortie d'une version 1.0 de Lazarus début juillet si tout va bien...

Et pour finir, Lazarus est déjà intéressant !
--
Philippe.
Avatar de Squeak Squeak - Membre habitué http://www.developpez.com
le 29/04/2012 à 12:06
Bien sûr ceci peut nuire à la portabilité, si un développeur sous Lazarus souhaite que son application fonctionne sous Windows, Linux, Mac.. il n'utilisera probablement pas cette fonctionnalité (quoique, peut être Wine pourrait le permettre). Par contre il y a aussi le but d'être une sérieuse alternative à Delphi. Et l'utilisation des contrôles ActiveX était une fonctionnalité qui manquait à Lazarus.
Offres d'emploi IT
Consultant technique éditeur logiciel h/f
Florian Mantione Institut - Languedoc Roussillon - Montpellier (34000)
H/F Développeur logiciel expérimenté
Index Education - Provence Alpes Côte d'Azur - Marseille (13000)
Développeur web php H/F
Cabinet Valexane - Rhône Alpes - Valence (26000)

Voir plus d'offres Voir la carte des offres IT
Responsables bénévoles de la rubrique Pascal : Gilles Vasseur - Alcatîz -