IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

La version 1.0.2 de Lazarus
Est disponible au téléchargement

Le , par Ph. B.

5PARTAGES

0  0 
Bonjour à tous,

La version 1.02 est disponible en téléchargement ICI

Les corrections et améliorations ICI

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de
https://www.developpez.com
Le 02/11/2012 à 17:26
Bonjour Jean,

Oui j'aurais dû m'en souvenir... Car lors d'une de nos dernières discussion, je me demandais (sans l'écrire) à quoi ressemblait une Fedora et si elle était "compatible" avec une Ubuntu ou une Squeeze...

Bon ceci dit, je crois que commencer Lazarus sous Linux, une fois l'installation passée, permet un cheminement plus simple et plus calme (ie moins rugueux) que quand on vient de Windows/Delphi... Je me rappelle de mon désappointement puis de mon découragement quand j'ai commencé avec Lazarus. J'avais l'habitude d'un IDE fabuleux pour Windows. Je parle de Delphi 7 évidemment. Il m'a fallu du temps pour "admettre" le développement de Lazarus que je percevais comme "erratique". Je ne vais pas dire que l'équipe Lazarus ne pourrait pas faire mieux... mais je trouve -avec un peu de recul et... sans prisme - que c'est déjà très bien...

Votre Fedora est une 64 bits ? "Cela" fonctionne sous Gnome ?... On ne pourrait pas faire l'échange de qqs petits exe pour voir si c'est compatible ? Je teste en Squeeze, Ubuntu 10.04 et 12.04. Entre ces versions, j'ai déjà rencontré de nombreux problèmes... au niveau des dépendances "connecteurs", ce qui me fait dire que la portabilité en Linux est extrêmement délicate. Pour avoir regardé encore cela cette semaine (en voulant installer un serveur HyperFile 64 Linux), une Debian Squeeze et une Ubuntu 12.04 -bien que "contemporaines" (ie ce sont les 2 versions stables du moment)- n'utilisent pas le même noyau. Donc, immanquablement, certaines .so sont incompatibles.

Bon WE
Cordialement. Gilles
2  0 
Avatar de Gouyon
Membre expérimenté https://www.developpez.com
Le 30/10/2012 à 11:32
Citation Envoyé par Jipété Voir le message

Si quelqu'un a une idée pour que je puisse reconstruire l'IDE et accessoirement installer ce paquet, il m’ôtera une grosse épine du pied...
Normalement c'est relativement simple

  1. Menu Paquet ouvrir un fichier paquet
  2. Charger le .lpk
  3. Le compiler histoire de voire si tout va bien. Si ça ce passe mal à ce stade inutile d'aller plus loin.
  4. Cliquer sur le bouton utiliser et choisir installer pour que le composant soit disponible dans la palette.
  5. Lazarus se recompile car il n'intègre des composants que de manière statique.

Il est vrai que parfois ça entraine des problèmes en fonction du composant.

Pour en revenir au produit "professionnel" je ne suis pas d'accord avec vous j'ai essayer d'installer un composant sous RAD Studio Xe (Delphi) produit professionnel (surtout vu son prix) et ça n'a pas été immédiat loin s'en faut. En tenant le même raisonnement que vous j'aurais jeté Delphi à la poubelle qui est pourtant un produit professionnel.

Petite anecdote. Je développe une application base de donnée sous Lazarus car je veux pouvoir la distribuer sous Windows, Mac et Linux. Parallèlement j'en développe une autre sous delphi qui ne fonctionne que sous Windows. Quand j'ai voulu porter cette dernière sur une machine win7 j'ai eu les pires problèmes avec le connecteur ODBC de la base . Tandis qu'avec l'application développé avec Lazarus je n'ai jamais eu aucun souci de portage .
Comme quoi les outils professionnels ne sont pas synonyme de facilité d’emploi
1  0 
Avatar de
https://www.developpez.com
Le 31/10/2012 à 12:16
Citation Envoyé par Paul TOTH Voir le message
je ne connais pas le détail de la LCL mais il est certain que les évènements sont déclenchés par le système, il est donc possible que l'ordre naturel des évènements ne soit pas le même sous Linux et Windows...dommage cependant que Lazarus ne gomme pas ces différences.
Bonjour, ce n'est pas si évident que cela et même souvent impossible. Je suppose que Jean fait référence à l'ouverture des Forms. Lazarus "pilote" les widget sets des OS... comme beaucoup d'autres langages... Souvent il manque des fonctions dans ces widgets. Par exemple récemment, j'ai découvert que sous gtk2, le EndEllipsis (tronquage avec points de suspension) n'était pas dispo dans les canvas. Dans les StringGrids lazarusiennes le goCellEndEllipsis et le DT_END_Ellipsis sont bien implantés mais ne commandent rien sous gtk2 puisque le widget concerné ne possède pas cette capacité. Enfin semble-t-il.

Pour l'ouverture des Forms, si sous Windows le Widget gère l'évènement A puis l'évènement B alors que sous Nux c'est d'abord B puis A, que peut y faire Lazarus ? Inverser le nom de ses propres fonctions ? Pour le déclenchement à l'ouverture des Forms, il y l'override possible de la méthode Update qui est relativement indépendante et permet certaines corrections... On ne peut pas non plus demander à tous les OS de se ressembler. Il faut donc faire avec.

Ceci dit, cela m'amène à une conclusion que je n'arrivais pas à formuler faute de disposer du matériel et des logiciels nécessaires. Mais maintenant, après avoir testé, ma "suspicion" et mon aversion "naturelle" pour la cross-compilation en sortent renforcées. Face à ce genre de problématique (l'utilisation des Widget sets de l'OS), la cross-compilation est une perte de temps infinie dès qu'on utilise un environnement graphique. Et je pense que Lazarus est LA solution actuelle en Pascal parce qu'avec son EDI sous Mac, on peut tester et corriger immédiatement... C'est un énorme plus, un confort inestimable... et quoi qu'on en dise, Lazarus 1.0/FPC 2.6.x est solide et fonctionnel, en 32 et 64 bits, sous Win, Nux et Mac...

Cordialement. Gilles
1  0 
Avatar de
https://www.developpez.com
Le 31/10/2012 à 15:14
Bonjour Paul,

Hum... Je ne suis vraiment pas un spécialiste VCL D'autant que souvent les codes que j'ai étudiés font appel aux API. Je me refuse à utiliser ShellApi au maximum avec Lazarus.

Lazarus propose une autre solution pour les composants graphiques indépendemment des widgets des OS. Elle n'est pas aboutie et je ne sais pas si elle est viable, ni même nécessaire : FpGUI.

Mais je le répète. La situation de Jean -si j'ai bien compris- me semble être celle du portage d'un projet Windows vers Linux. Mais dans ce cas (celui d'un portage de Windows vers Linux), le développement Windows est de fait la référence et la plateforme méthodologique de départ. C'est la différence de méthode qu'il y a entre un "cross-compilateur" (un cross-compileur ?) Delphien et un utilisateur de Lazarus. Je suis autant de temps sur Nux que sur Windows et bientôt -faut rattraper le temps- sous Mac. Je n'initie pas spécialement mes projets sous Win, plutôt en général d'ailleurs sous Nux...

Donc je prends les OS tels qu'ils sont. Je me moque de savoir si l'évènement A et avant B sous Nux et inversement sous Win. Je teste mes projets avec mon IDE dans chaque environnement. S'il y a un problème sous Nux, j'ouvre mon IDE sous Nux : il est en général facilement identifiable puisque je dispose de toutes les ressources associées à l'IDE dans l'OS où il apparaît et s'il le faut, je différencie et/ou permute le code avec un {$IFDEF linux ou windows} et c'est fini...

L'exemple que vous prenez est typique. Vous utilisez cette méthode parce que vous êtes obligé de cross-compiler. Sinon cela devient invivable, je m'en suis rendu compte car je n'ai pas votre savoir-faire sur Delphi. D'un autre côté, s'il faut réaliser le travail que vous me détaillez (les CrossControls) avant de commencer à programmer, bien qu'amoureux du Pascal, je risque de m'en détacher. Voila pourquoi actuellement ma préférence va à Lazarus...

Et "philosophiquement' je me demande pourquoi vous voulez faire "exactement marcher" un Linux comme un Windows ou un Mac. Je crois que la bonne approche, c'est le tour de force équilibré qu'est en train de réussir Lazarus... Beaucoup de codes communs, tout en respectant la "liberté" et la spécificité de chaque OS, et en les considérant tous comme égaux et indispensables. Je l'ai écrit de nombreuses fois : c'est un challenge ambitieux et une approche intellectuellement très satisfaisante, brillante même. La difficulté, c'est le respect des points d'équilibre et donc la cohésion des approches et méthodes de développements. Là des fois, il y a quelques errances... dont nous subissons les conséquences. Mais en ce moment, "on" se porte plutôt bien. Alors il est vrai que quand un "habitué à Delphi" teste un Lazarus, il ne voit que par le prisme de Windows et on peut reconnaître que Lazarus est moins spécialisé que Delphi pour cet OS. Mais, inversement, quand "j'approche" Delphi (IDE purement Win 32) pour un développement Mac OS64... alors là, le Lazarusien est aussi déçu que son Collègue habitué à Delphi... et je ne parle pas du Linuxien.

Je suis donc de l'avis de Rémi : pour un programmeur qui développe pour les 3 environnements sans en privilégier aucun, il y a Java et Lazarus (peut-être C++/QT)... et pour avoir testé les 2 premiers, j'estime qu'avec le second -tel qu'il est actuellement- on peut faire aussi bien dans de nombreux cas -on va rester modeste- qu'avec le premier, la référence en la matière. C'est une chance, je trouve, quand on est un Pascalien "natif".

Il est vrai -je le constate comme les différences des OS- que Lazarus et Delphi divergent de plus en plus... et j'en reviens à votre constat premier : qu'il eût été souhaitable d'écarter un peu VCL de Windows... j'en suis certain. Mais tel ne fut pas le cas et tel ne le sera-t-elle probablement jamais, car FMX et VCL, c'est... sans rapport... et Win32 ne semble plus être l'avenir de Windows.

Cordialement. Gilles
1  0 
Avatar de Gouyon
Membre expérimenté https://www.developpez.com
Le 25/10/2012 à 9:05
Après quelques hésitations je suis passé à la nouvelle version. Ce qui m'a fait plaisir dans un premier temps c'est que ça c'est fait sans trop de bobo aussi bien sous windows que sous linux.
Pour ce qui est de la question à 1 million d'euros

Pensez-vous que ce Lazarus 1.0 soit enfin assez mature pour le développement professionnel ?
Je dirais oui. Mais il y a quelques manque comme un support technique digne de ce nom. Pour le reste c'est un EDI formidable avec son point fort principal qui est de pouvoir compiler, exécuter et tester le code sur différents OS. A part Java je ne connais pas d'autres langages qui le fasse. RAD Studio Xe2 le permet je crois mais je demande à voir car l'EDI ne tourne pas sur les autres OS que windows ce qui me laisse dubitatif en ce qui concerne la portabilité.
0  0 
Avatar de Jipété
Expert éminent sénior https://www.developpez.com
Le 30/10/2012 à 9:30
Bonjour,
Citation Envoyé par Ph. B. Voir le message
(...)
Pensez-vous que ce Lazarus 1.0 soit enfin assez mature pour le développement professionnel ?
Ben moi je dirais non.

J'ai installé, et pour un test rapide j'avais besoin d'installer un paquet (lazdbexport.lpk).

Alors déjà, en passant par le menu "Paquet / Installer-Désinstaller les paquets" ça n'est pas du tout intuitif, et on a peur de tout casser
Autre option, passer par "Paquet / Ouvrir un fichier paquet..." et ça roule bien jusqu'à la compilation de l'IDE, et là c'est le drame !
Cette bouze (pas d'autre mot, désolé) n'est pas foutue de trouver ses propres composants !
..\ideintf\objectinspector.pp(47,3) Fatal: Can't find unit ComponentTreeView used by ObjectInspector
Alors il faut jouer avec les chemins, en rajouter, en enlever, tout en se demandant comment une chose pareille est possible, et au final nada !

Si quelqu'un a une idée pour que je puisse reconstruire l'IDE et accessoirement installer ce paquet, il m’ôtera une grosse épine du pied...
Merci et bonne journée,

[EDIT] Alors pour recompiler l'IDE, " Exécuter / Nettoyer les fichiers de compilation... " et après ça roule. Ça ne s'invente pas... [/EDIT]
0  0 
Avatar de ovni76
Membre actif https://www.developpez.com
Le 30/10/2012 à 22:55
Bonjour Remi,
Je ne suis pas un spécialiste, je trouve très bien lazarus qui permet le passage assez facile d'une petite application de gestion de données sous sqlite3 développée sous linux vers windows, mais comment expliquer que les événements de TForm est un comportement différent d'un système à l'autre.
Un exemple l'événement activate.
Sous linux fedora 16, qui est mon système de base j'utilise cet événement à l'affichage de ma fiche principale pour lire le contenu d'une table qui est en situation active via le datamodule associé et sous windows j'ai droit à un beau défaut j'ai contourné le problème sous windows en ajoutant un bouton d'activation qui commande l'affichage des éléments utiles de cette fiche principale et en même temps je lis la table sans défaut.
Etrange et il y en a d'autres différences comme celle-là par exemple je peux copier une base dont les tables sont actives sous linux mais pas sous windows mais là c'est peut-être lié aux bibliothèques
0  0 
Avatar de Paul TOTH
Expert éminent sénior https://www.developpez.com
Le 31/10/2012 à 5:26
Citation Envoyé par ovni76 Voir le message
Bonjour Remi,
Je ne suis pas un spécialiste, je trouve très bien lazarus qui permet le passage assez facile d'une petite application de gestion de données sous sqlite3 développée sous linux vers windows, mais comment expliquer que les événements de TForm est un comportement différent d'un système à l'autre.
Un exemple l'événement activate.
Sous linux fedora 16, qui est mon système de base j'utilise cet événement à l'affichage de ma fiche principale pour lire le contenu d'une table qui est en situation active via le datamodule associé et sous windows j'ai droit à un beau défaut j'ai contourné le problème sous windows en ajoutant un bouton d'activation qui commande l'affichage des éléments utiles de cette fiche principale et en même temps je lis la table sans défaut.
Etrange et il y en a d'autres différences comme celle-là par exemple je peux copier une base dont les tables sont actives sous linux mais pas sous windows mais là c'est peut-être lié aux bibliothèques
je ne connais pas le détail de la LCL mais il est certain que les évènements sont déclenchés par le système, il est donc possible que l'ordre naturel des évènements ne soit pas le même sous Linux et Windows...dommage cependant que Lazarus ne gomme pas ces différences.

Concernant la copie de la base je pense que c'est tout simplement lié à l'OS et la gestion des verrous qui n'est pas le même sous Linux et Windows.
0  0 
Avatar de Gouyon
Membre expérimenté https://www.developpez.com
Le 31/10/2012 à 12:30
Citation Envoyé par selzig Voir le message
Et je pense que Lazarus est LA solution actuelle en Pascal parce qu'avec son EDI sous Mac, on peut tester et corriger immédiatement... C'est un énorme plus, un confort inestimable... et quoi qu'on en dise, Lazarus est solide et fonctionnel, en 32 et 64 bits, sous Win, Nux et Mac...
J'approuve à 100%
Citation Envoyé par ovni76 Voir le message


Je ne suis pas un spécialiste, je trouve très bien lazarus qui permet le passage assez facile d'une petite application de gestion de données sous sqlite3 développée sous linux vers windows, mais comment expliquer que les événements de TForm est un comportement différent d'un système à l'autre.
Je ne sais pas répondre à ça et j'ai expérimenté moi aussi quelques mauvaises surprise de ce genre. L’intérêt de Lazarus c'est qu'il est facile de corriger ces problèmes puisqu'on peut modifier et compiler le projet sur l'OS en question. Contrairement à un EDI qui disposerait de plusieurs compilateurs mais qui ne permettrait que des modification sur un OS donné
0  0 
Avatar de Paul TOTH
Expert éminent sénior https://www.developpez.com
Le 31/10/2012 à 14:50
Citation Envoyé par selzig Voir le message
...
Pour l'ouverture des Forms, si sous Windows le Widget gère l'évènement A puis l'évènement B alors que sous Nux c'est d'abord B puis A, que peut y faire Lazarus ? Inverser le nom de ses propres fonctions ? Pour le déclenchement à l'ouverture des Forms, il y l'override possible de la méthode Update qui est relativement indépendante et permet certaines corrections... On ne peut pas non plus demander à tous les OS de se ressembler. Il faut donc faire avec.
...
j'ai toujours pensé que la VCL (celle de Delphi), bien que fortement liée à Windows gagnerait a lâcher quelques spécificités de Windows pour devenir un standard de développement. C'est à dire que peu importe si l'OS gère ou pas un évènement, la VCL (ou la LCL) se doit de proposer une série d'évènements clairement identifiés sans rapport avec l'OS sous jasent. C'est ni plus ni moins ce que nous propose HTML

J'ai d'ailleurs commencé à faire des CrossControls sous Delphi XE2 qui fonctionnent à l'identique sous Windows et OSX tout en utilisant le control natif de l'OS (on retrouve tout de même un bon nombre de choses en commun). J'ai découvert à cet occasion que OSX n'a pas d'état "Idle" car il n'y a pas explicitement de message ou d'absence de message (= idle)...mais on peut recréer ce principe en postant un message qui se déclenche "NSPostWhenIdle", c'est à dire en gros quand il n'y en a plus J'ai cependant encore un bug puisque ce message n'est pas traité entre un MouseDown et un MouseUp sur un bouton... comme quoi reproduire à l'identique n'est pas simple, mais je pense que c'est faisable

Un exemple notable aussi c'est TPageControl, en fait ce composant n'existe pas sous Windows ! c'est juste un TTabControl dans lequel on vient placer des TTabSheet (TWinControl) et Delphi se charge des les afficher ou de les masquer en fonction de l'onglet actif. Sous OSX il existe par contre NSTabView et ses NSTabViewItem qui fonctionne directement comme un TPageControl...et bien cette différence peut très bien être gommée dans la VCL
0  0