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 :

Message d'erreur GLib-GObject [Lazarus]


Sujet :

Lazarus Pascal

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut Message d'erreur GLib-GObject
    Bonjour,

    j'ai bricolé un petit programme de rien du tout qui doit afficher des messages depuis un script Linux et ne voilà-t-il pas que lors de son appel, me tombe parfois, dans la console qui a lancé le script, l'erreur suivante, non bloquante mais ça fait désordre (ShowMsg c'est mon programme) :
    (ShowMsg:2354): GLib-GObject-WARNING **: [ici l''heure]: ../../../gobject/gsignal.c:1207: no emission of signal quote_key-release-event_quote to stop for instance '0x1fbc3e0'
    J'ai googlé et n'ai rien trouvé, alors si quelqu'un a une idée...

    FPC 3.2, Laz 2.0.10, Linux 5.8.10 dans une Debian Buster 10.7 64 bits.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  2. #2
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Salut JP

    Sur quoi t'es encore tombé ? GLib deja ca vient du Gnome selon wiki
    Je ne sais pas trop si cela à un rapport ici on peut lire :
    * All handlers may prematurely stop a signal emission, and any number of
    * handlers may be connected, disconnected, blocked or unblocked during
    * a signal emission.
    J'ai lu que mettre à jour "openjdk" pourrait résoudre certains problèmes, mais est-ce en lien ????
    Sinon ton "ShowMsg" elle fait quoi ? elle affiche les messages erreurs de l'OS ?
    Le numéro "2354" il correspond à quoi ?

    A+
    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Coucou Jérôme,

    Citation Envoyé par BeanzMaster Voir le message
    GLib deja ca vient du Gnome selon wiki
    Il y a beaucoup de morceaux de Gnome dans Linux...

    Citation Envoyé par BeanzMaster Voir le message
    Je ne sais pas trop si cela a un rapport ici on peut lire :
    * All handlers may prematurely stop a signal emission, and any number of
    * handlers may be connected, disconnected, blocked or unblocked during
    * a signal emission.
    J'ai lu que mettre à jour "openjdk" pourrait résoudre certains problèmes, mais est-ce en lien ????
    De mon côté, je n'ai pas été assez rigoureux : je ne sais pas encore si ce message apparaît (dans la console exécutant le script) lors du lancement de l'appli ShowMsg ou à sa fermeture ; va falloir que je fasse d'autres tests.
    Et que je pense à appeler dmesg dans une autre console lorsque ce message apparaît.
    Mais une chose est sure, le même programme compilé en 32 bits dans la vieille machine (avec un vieil OS et donc des vieux binaires) n'a aucun problème...

    Citation Envoyé par BeanzMaster Voir le message
    Sinon ton "ShowMsg" elle fait quoi ? elle affiche les messages erreurs de l'OS ?
    Le numéro "2354" il correspond à quoi ?
    C't'un binaire qui se contente d'être appelé par le script pour afficher une string en dur ou passée en paramètre, ainsi qu'une icône prédéfinie ou choisie parmi 5 possibles en passant un autre paramètre. Et ça ne concerne que le script.

    Quant à 2354, c'est très certainement le pid du processus ShowMsg.

    Mais ne perds pas ton temps là-dessus, ce n'est pas bloquant (juste que ça fait désordre dans la console -- mais bon sang, le nombre de choses qui font désordre dans un Linux récent, laisse tomber !...)
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  4. #4
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello Jipété,
    l'événement key-release-event est défini ainsi pour gtk :

    The ::key-release-event signal is emitted when a key is released. To receive this signal, the GdkWindow associated to the widget needs to enable the GDK_KEY_RELEASE_MASK mask. This signal will be sent to the grab widget if there is one. %FALSE to propagate the event further.
    Ton code est un mixte entre un programme console et une IHM ? Peux-tu nous montrer ton code ?

    Ami calmant, J.P (sans T)
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Peux-tu nous montrer ton code ?
    Mais bien sûr ! Et dans son intégralité, en plus, mais défense de rigoler, ça a été réalisé à la va-vite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    unit Unit1;
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, Forms, Controls, Graphics, StdCtrls, ExtCtrls;
     
    type
     
      { TForm1 }
     
      TForm1 = class(TForm)
        Button1: TButton;
        Image1: TImage;
        Image2: TImage;
        imglist48: TImageList;
        imglist16: TImageList;
        Label1: TLabel;
        procedure Button1Click(Sender: TObject);
        procedure FormActivate(Sender: TObject);
      private
        { private declarations }
      public
        { public declarations }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.lfm}
     
    { TForm1 }
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Close;
    end;
     
    procedure TForm1.FormActivate(Sender: TObject);
    var
      idx: integer;
      s: string;
      ico: TBitmap; // TIcon ça foire, go figure...
      bsuccess: boolean;
     
      procedure WorkWithNoParam;
      begin
        image2.Visible:=True;
      end;
     
      procedure suite;
      begin
        ico := TBitmap.Create;
        ico.Width:=16; ico.Height:=16;
        imglist48.GetBitmap(idx, image1.Picture.Bitmap);
        imglist16.GetBitmap(idx, ico);
        application.Icon.Assign(ico);
        form1.Icon.Assign(ico);
        ico.Free;
      end;
     
      procedure WorkWithOneParam;
      begin
        bsuccess := TryStrToInt(application.Params[1], idx);// index de l'icône et sa validation
        if bsuccess then suite else s := application.Params[1];
      end;
     
      procedure WorkWithMultiParam;
      var
        i,appliParamCount: integer;
      begin
        appliParamCount := application.ParamCount;
        bsuccess := TryStrToInt(application.Params[appliParamCount], idx);// index de l'icône et sa validation
        if idx > imglist48.Count-1 then idx := 0; // 'tite sécurité
        if bsuccess then begin
          dec(appliParamCount);
          suite;
        end;
        form1.Caption := application.Params[1]; // titre
        // texte
        s := '';
        for i := 2 to appliParamCount do
          s := s + application.Params[i] + ' ';
      end;
     
    begin
      // si multimot(s), à protéger par double quote
      // icône en dernier
      // 0 = pas de param (c'est idiot, --> help)
      // 1 = un seul param, au milieu, mais c'est idiot aussi
      // x = 2 ou + --> le premier est le titre de la fiche,
      // et le dernier si numérique est l'index de l'icône dans l'imglist
      s := 'Pas de paramètre(s) passé(s) -----> rien à afficher. ' +
           'Note : le dernier param = idx de l''icône si numérique (0 à 4).';
      case application.ParamCount of
        0:   WorkWithNoParam;
        1:   WorkWithOneParam;
        else WorkWithMultiParam;
      end;
      label1.Caption := s;
    end;
     
    end.
    Et voilà le lfm, zippé car un peu gros (il inclut deux TImageList) : unit1.lfm.zip

    Merci,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  6. #6
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello,
    bon j'arrive à reproduire ton problème avec en plus un autre message d'erreur sous Ubuntu 20.04 LTS :
    ~/Lazarus/Projets/Test_Jipete$ ./project1 titre 2
    Gtk-Message: 13:32:49.621: Failed to load module "canberra-gtk-module"

    (project1:3993): GLib-GObject-WARNING **: 13:32:51.031: ../../../gobject/gsignal.c:1282: no emission of signal "key-release-event" to stop for instance '0x2628350'
    ~/Lazarus/Projets/Test_Jipete$
    A noter que cela n'empêche pas le programme de fonctionner.
    Ubuntu 20.04 tourne sous gtk3 . Si je compile le programme avec comme cible du gtk3, je n'ai plus de messages d'erreurs.

    Ami calmant, J.P (sans T)
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  7. #7
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    A noter que cela n'empêche pas le programme de fonctionner.
    Oui, je l'avais d'ailleurs noté.

    Citation Envoyé par jurassic pork Voir le message
    Ubuntu 20.04 tourne sous gtk3 . Si je compile le programme avec comme cible du gtk3, je n'ai plus de messages d'erreurs.
    J'ai testé, il ne me trouvait pas -lgdk-3, il m'a fallu installer libgtk-3-dev (+ 30 ! autres paquets, ah, les dépendances...) et au final ça compile mais l'exécution me sort un Gtk-warning : Theme parsing error: gtk.css... et pour le trouver, il a fallu que j'en ouvre plusieurs, jusqu'à ce que je tombe sur un commentaire ouvrant /* sans commentaire fermant */ !, que je me suis empressé de rajouter et plus de problème.

    Attention au fait que lancer le prog avec juste 1 paramètre numérique génère parfois un Access violation.
    "Parfois"...
    J'adore de plus en plus l'informatique !

    Bon, je n'ai pas le temps de chercher le pourquoi du comment, ça restera ainsi.

    Salut à toi et grand merci, J.P (sans T)

    Ah, un dernier mot : mettez la couleur de la fiche à clNone dans l'inspecteur d'objets, sinon les icônes ont une bordure blanche pas glop.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  8. #8
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Attention au gag : gtk3 pas fini ?
    Dans un autre projet, j'utilise TLazIntfImage (et donc uses IntfGraphics) pour charger un fichier .bmp et l'afficher dans un TImage.

    Avec gtk2 tout va bien, avec gtk3 le TImage est blanc...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TSocket] Message d'erreur
    Par rgz dans le forum Web & réseau
    Réponses: 6
    Dernier message: 04/07/2003, 09h16
  2. Surcharger le message d'erreur après un OnException
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 2
    Dernier message: 24/04/2003, 11h42
  3. Réponses: 4
    Dernier message: 04/03/2003, 01h05
  4. [CR] Message d'erreur
    Par nono1 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 11/09/2002, 14h54
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

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