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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

[2.2.4] Catastrophe avec TrayIcon - Changement de comportement de mon programme


Sujet :

Lazarus Pascal

  1. #1
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 159
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 159
    Par défaut [2.2.4] Catastrophe avec TrayIcon - Changement de comportement de mon programme
    Bonjour,

    pendant des années et des années, sous Delphi-Windows comme sous Lazarus-Linux, j'ai utilisé une icône dans le Systray pour afficher/masquer la feuille principale d'un programme qui me sert au quotidien, simplement en cliquant gauche dessus, le clic-droit proposant d'autres options.
    Du basique de chez basique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TTraybagFrm.TrayIconClick(Sender: TObject);
    begin
      TraybagFrm.Visible := not TraybagFrm.Visible; // ok jusqu'à 2.0.12 inclus
    end;
    Hier j'ai modifié une bricole dans un des sous-programmes (quelques mots dans un TMemo posé sur une TFrame) et j'ai tout simplement recompilé, ràs.

    Ce matin j'ai besoin d'avoir l'ihm donc comme depuis des années je clique sur l'icône en bas à droite et là, stupeur, désenchantement et désappointement, c'est le menu du clic-droit qui s'affiche...
    Je n'ai donc plus accès à mes outils de surveillance des disques, au lancement des sauvegardes, à Exiftool et plein d'autres, etc.

    Mais qu'est-ce qu'ils ont encore cassé ?

    Ce qui confirme la phrase précédente, c'est que la sauvegarde de mon utilitaire (hier j'avais la flemme, je ne l'ai pas faite, merci mon Dieu !) fonctionne encore très bien.
    Donc c'est la compilation qui fout sa m...
    Mais qu'est-ce qu'ils ont donc encore cassé ? Faut dire qu'il y a deux jours je me suis décidé à passer à 2.2.4.

    J'ai retourné tout l'internet, j'ai terminé dans les forums de Lazarus et j'ai trouvé ça, que je vous encourage vivement à lire attentivement et à tester, car c'est la solution, enfin, manière de dire, car elle est lourde à mettre en œuvre et ça ne sera surement pas pérenne, surtout si c'est inutilisable en debug.
    Tiens, regardez :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ LAZUSEAPPIND=INFO /chemin/systray/project64
    APPIND Debug : Default is to try an AppIndicator
    APPIND Debug : An AppIndicator has loaded True
    $ LAZUSEAPPIND=NO /chemin/systray/project64
    APPIND Debug : User choosing to use Traditional SysTray
    Et ce n'est valable que pour le temps que cet exécutable reste en fonctionnement. Ce qui veut dire qu'au lieu de faire F9 avec des breakpoints et tout le bazar d'analyse, on fera F9 et on croisera les doigts après avoir bardé le prog de ShowMessage('blabla') pour savoir ce qui se passe (car oui, j'ai testé, les breakpoints ne sont plus pris en compte !)

    Si quelqu'un a une idée...

    Parce que là, à part retourner en 2.0.12 et figer la machine à cette version, je ne vois pas de solution et j'imagine qu'il n'y en aura jamais, si l'inspiration de cette hérésie vient du développement pour les mobiles où le clic-droit, euh..., avec leurs tout petits écrans c'est pas gagné, donc c'est mort,

    Ou alors abandonner Lazarus, mais j'ai testé MSEide et je suis loin d'être convaincu.

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 159
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 159
    Par défaut
    Bonsoir,

    Pour ceux qui utilisent le composant TTrayIcon pour avoir l'option "Clic-droit" à côté de l'heure en bas à droite pour faire des trucs et des machins avec leurs programmes, MÉFIANCE, car ça, c'est fini, sous Linux (et je crois que Windows aussi a des problèmes, mais je n'ai pas lu les notes s'y rapportant) !

    Pour faire court et simple, il a été décidé par je ne sais qui d'orienter le dév' vers les cibles "mobiles", celles avec des écrans larges comme un paquet de clopes, résultat, impossible d'y caser un clic-droit et un clic-gauche, résultat du résultat, il a été décidé de supprimer le clic-gauche, hé ouais !

    Pour le moment, la seule solution que j'ai trouvée a été de dédier une machine virtuelle à une vieille installation FPC 3.2.0 / Laz 2.0.12 afin de retrouver un comportement normal, il m'appartiendra de sauvegarder cette machine et d'en prendre grand soin car je pense qu'elle me suivra tant que je coderai, avec l'impossibilité stricte et formelle d'y faire une quelconque mise à jour, au risque de tout casser comme je l'ai vécu ce matin (journée d'enfer).
    Lecture...

    À bon entendeur salut !

  3. #3
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 159
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 159
    Par défaut
    Bonjour,

    je récapitule : avec ce tout nouveau tout beau tout neuf Laz 2.2.4, l'icône "en bas à droite" a perdu sa transparence (elle s'affiche minablement sur un fond blanc alors que le png est en 32 bpp 8-bit alpha et qu'elle s'affiche bien ailleurs, sur le Bureau comme dans l'explorateur de fichiers ou même dans les options du projet, premier onglet), a perdu son infobulle (plus moyen de savoir ce que c'est que cette icône, pas cool pour le user) et a perdu en fonctionnalités (avant il suffisait de faire clic clic pour afficher-masquer la fiche, maintenant il faut intégrer cette option dans le nouveau menu [qui reprend donc l'ancien en y ajoutant une ligne] et déplacer la souris pour atteindre la nouvelle option).

    Donc si je compte bien, nouvelle version = apparition de 3 trucs nuls, lamentables et moches.
    Que du bonheur,

    Allez, bonne journée malgré tout,

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    avez-vous fait part de vos remarques et de vos regrets quant à l'évolution de Lazarus à son équipe de développement ?

    Je trouve(rais) curieux que selon votre description et l'analyse en résultant, un quelconque souci de convergence vers le développement mobile explique ces choix. En effet, contrairement à Delphi, Lazarus n'est vraiment pas actuellement dimensionné pour le développement mobile : le ciblage d'Android est très loin du compte et celui vers iOS est quasiment inexistant.

    Je pensais (naïvement ?) qu'enfin Lazarus avait surpassé définitivement les limites qu’imposait le respect du dogme de l'antique (et génial sous Windows) Delphi 7. Maintenant, s'il prend désormais celle des Delphi FMX, effectivement les adeptes des widgets natifs n'ont plus beaucoup de solutions. L'explication réside peut-être ailleurs.

    Quand il s'agit de la suppression de propriétés, méthodes et autres événements, cela peut comme comme pour Delphi FMX effectivement être une orientation mobile au détriment de la desktop comme je l'ai écrit de nombreuses fois. Dans le cas de Lazarus, il faut se rappeler de la confidentialité de cet IDE, de la taille de l'équipe de développement dont il faudrait connaître l'évolution (croissance stagnation, décroissance), et tenir compte de l'évolution rapide des OS. Compte tenu du fait que Lazarus pilote directement les Widgets natifs des différents OS et versions ciblés, n'est ce pas plutôt un problème de moyens qui explique ce glissement, ces abandons ?

    Cordialement. Gilles
    Dernière modification par Invité ; 13/10/2022 à 15h03.

  5. #5
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 159
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 159
    Par défaut
    Bonsoir,
    Citation Envoyé par HTML-Dev Voir le message
    avez-vous fait part de vos remarques et de vos regrets quant à l'évolution de Lazarus à son équipe de développement ?
    Non, car d'après ce que j'ai pu lire hier, il semblerait qu'ils se contentent de suivre le train Debian, Debian qui traficote avec libayatana3 et quand on suit les liens au bas de la page que j'ai citée dans mon premier post, on se retrouve très vite largué. Enfin, moi.
    Si je comparais avec les 7 couches du modèle OSI du réseau, je dirais que ceux qui bidouillent là-dedans sont aux niveaux 2-3 quand moi je me contente du niveau 7 et donc, quand des choses changent "en bas", forcément ça se répercute "plus haut" mais on ne nous demande pas notre avis : on nous impose ça et basta.
    Va falloir apprendre à faire avec.
    Lecture mal de tête.

    Citation Envoyé par HTML-Dev Voir le message
    Je trouve(rais) curieux que selon votre description et l'analyse en résultant, un quelconque souci de convergence vers le développement mobile explique ces choix.
    C'est ce qui m'est apparu à force de réflexion sur la question "mais pourquoi nous changer le comportement du trayicon ?" et c'est l'idée qui s'est imposée, qui me semble être dans la lignée du design de Windows 10 et 11 avec leurs interfaces toutes plates et dépouillées où on a du mal à savoir quelle est la fenêtre active, par exemple.
    Ah que je regrette Windows 98/2000 ou même Seven sans les effets graphiques Aero-gadget.

    En plus, il y a tout le reste, pour me faire perdre mon temps...
    Par exemple, j'ai suivi le 3e lien de la page dont j'ai parlé, je me suis retrouvé sur sourceforge, j'ai récupéré les fichiers pour voir un peu comment quelqu'un d'autre avait fait et je suis tombé sur ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    const
      //default tray colour for XP
      //would be better if it could be transparent
      //see Lazarus bug 0018651
      colTray: TFPColor = (Red: $1200; Green: $9000; Blue: $e800; Alpha: alphaOpaque);
    Et j'ai cherché ce bug, dans les forums de Lazarus, comme ça :
    Nom : 18651.png
Affichages : 279
Taille : 19,3 Ko

    et j'ai donc gagné 1 lien, que j'ai suivi, même si son titre me semblait peu en rapport avec les problèmes de transparence, et je ne sais pas comment fonctionnent les moteurs de recherche mais en tout état de cause, une fois la page ouverte, le mot 18651 y est totalement inexistant.
    Encore du temps perdu...
    Bref, après avoir commenté dans le code les mots faisant clairement référence à Windows (pour y récupérer des infos système, donc rien à voir avec le mécanisme d'icône "en bas à droite"), j'ai pu constater que dans ce programme également, adieu la transparence de l'icône.

    Faudrait trouver le vrai bug 18651...

    Lecture d'il y a 3 ans...

  6. #6
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 159
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 159
    Par défaut
    Bonjour,

    le problème s'étant reproduit, probablement suite à une mise à jour de l'OS, je me suis retrouvé à farfouiller ici pour voir un peu comment je m'en étais dépatouillé il y a 3 mois et malheureusement, je constate avec stupéfaction qu'une image qui aurait dû se trouver juste là-dessous, dans l'espace vide,
    Nom : image_baladeuse.png
Affichages : 207
Taille : 19,3 Ko

    EDIT : le forum débloque complètement ! Je viens d'insérer une image ci-dessus, je l'ai vue en prévisualisation, je clique sur Poster et elle n'est plus là ! /EDIT
    Nom : note_hallucinée.png
Affichages : 207
Taille : 16,5 Ko
    /RE-EDIT : elle vient de réapparaître, mais c'est l'image du signalement de ce défaut qui n'apparait pas, juste au-dessus de cette ligne -- Bon, je vais aller me balader, ça ira mieux après... /EDIT
    a disparu de la circulation !
    Et pourtant elle existe, puisqu'elle mesure 1 pixel x 1 pixel ! Essayez donc
    wget https://www.developpez.net/forums/at...amme/18651.png
    et vous le constaterez par vous-même.

    Et comme je ne suis quand même pas neuneu au point de générer des images de cette taille pour les poster sur un forum, je demande HAUT et FORT : que s'est-il passé ?

    Par ailleurs, j'ai tenté de suivre la même démarche qu'en octobre, pour récupérer ce que j'avais bien pu copier/coller, mais je ne retrouve pas, hélas.

    Pas 2 bol.

    EDIT : je l'ai retrouvée, en farfouillant dans "mes images" d'ici.
    Nom : 18651.png
Affichages : 205
Taille : 19,3 Ko

Discussions similaires

  1. probleme avec le changement dans une ArrayList
    Par Hisoka_Hunter dans le forum C#
    Réponses: 1
    Dernier message: 15/02/2008, 17h56
  2. Probleme avec TrayIcon
    Par Arthur59 dans le forum C++Builder
    Réponses: 6
    Dernier message: 22/08/2007, 19h07
  3. Réponses: 1
    Dernier message: 12/06/2007, 12h09
  4. Réponses: 7
    Dernier message: 06/05/2007, 18h11
  5. Problème avec mysql - changement d'hébergement
    Par Samuel78 dans le forum Administration
    Réponses: 11
    Dernier message: 12/08/2006, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo