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 :

[Linux] Problème étrange avec LazReport lorsque l'application est lancée depuis le bureau Cinnamon [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 390
    Par défaut [Linux] Problème étrange avec LazReport lorsque l'application est lancée depuis le bureau Cinnamon
    Bonjour,
    Je suis fedora 20 en 64b avec les dernières mise à jour et j'utilise le bureau cinamon.
    Sur ce bureau via les outils de cinnamon j'ai crée des icônes lanceurs d'application dont certaines développées avec lazarus.
    Et voila un problème étrange
    Je m'explique dans ces applications j'utilise un composant lazreport pour imprimer des données venant de tables sqlite3.
    Le phénomène étrange est qu'en utilisant le lanceur du bureau la partie impression de mon application ne se déroule pas et si via le navigateur de fichiers ou depuis une console je lance la même application soit par un double clic ou une commande depuis la console
    TOUT FONCTIONNE NORMALEMENT
    Si je repasse sur le bureau gnome même problème mais les lanceurs sont ceux créés avec cinnamon.
    Alors où est le mystère et comment le corriger.
    Pour info le contenu d'un fichier d'un des lanceurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [Desktop Entry]
    Comment=
    Terminal=false
    Name=auto
    Exec=/home/j/Bureau/laz-linux/lazreport/preport
    Type=Application
    Icon=/home/j/Bureau/laz-linux/auto-sqlaz/sources/AUTO.PNG
    Name[fr_FR]=report
    J'ai réinstallé lazarus 1.2.2 même problème que la version 1.2.4.
    Les applications fonctionnaient très bien il y a environ 2 mois, la seule chose qui peut les avoir modifiées c'est une nouvelle compilation avec lazarus 1.2.4 et son composant lazreport.
    Mais c'est étrange comme comportement à croire que les éléments liés à lazreport à une réaction différentes selon la manière dont est lancé l'application comme un accès autorisé ou pas.
    j'ai sérieusement besoin de lumières pour y voir plus clair.
    Merci d'avance A+

  2. #2
    Membre confirmé Avatar de TheFreeBerga
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Par défaut
    Bonjour,

    Vraiment étrange ! La seule chose que je puisse te conseiller est de mettre des ShowMessage() un peu partout dans ton code et voir ainsi à quel moment le programme déraille. Cela pourrait aider à comprendre le pourquoi du comment.

    Au fait, il s'agit bien d'un programme d'un seule tenant ? J'entends par là que, par exemple, le module d'impression qui ne fonctionne pas n'est pas un élément externe au programme principal (autre exe, dll, etc... ).

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 390
    Par défaut
    bonjour,
    Non lazreport est un composant se trouvant dans le dossier composant de lazarus tout comme sqlite3 mais il est vrai que la fiche principale est unique de cette application.
    Pour info sous windows xp la même application fonctionne avec les adaptations de chemin pour l'accès aux données mais ne fonctionne pas sous une autre fedora en 32b avec en plus une erreur sur une donnée date au format texte et si je supprime le composant dans le document *.lrf de construction du rapport il ne disparait pas comme si les modifications n'étaient pas pris en compte à la recompilation.
    Je refaire d'autres essais en reconstruisant l'ensemble avec un *.lrf nouveau est la partie impression sur une autre fiche que la principale et je donnerais les résultats.
    Encore une information le fichier *.lrf peut être ouvert dans un navigateur mais c'est une langue qui m'est étrangère mais je chercherais à voir si il est modifié quand je supprime un élément comme indiqué plus haut.
    Merci et A+

  4. #4
    Membre confirmé Avatar de TheFreeBerga
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Par défaut
    Au regard de ton dernier message, il vient de m'arriver quelque chose de plus ou moins similaire; quand le hasard d'en mêle...
    Le malheur des uns fait le bonheur des autres et je parierai que ce qui a solutionné mon problème résoudra le tien par la même occasion :

    Menu Exécuter | Nettoyer les fichiers de compilation... | Nettoyer et compiler (laisser les paramètres par défaut)

    Tiens moi au courant, je suis curieux de connaître le résultat...

  5. #5
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 390
    Par défaut
    Bonsoir,
    Il semble que nous n'avons pas le même problème j'ai dans le menu exécuter choisi l'option nettoyer et recompliler mais mon problème ne change pas.
    Depuis mon dernier message j'ai réalisé de nouveaux essais aussi bien sur une version 32b que 64b en ayant réécrit une application complète avec une fiche principale appelant via un bouton une autre fiche avec sur cette fiche un bouton pour la prévisualisation et un autre pour l'impression en ayant ajouter un ShowMessage aux différentes séquences.
    Résultats :
    depuis l'EDI tout fonctionne je vois bien les différents passages avec la prévisualisation puis l'impression
    depuis le bureau les mêmes messages mais pas d'affichage de la prévisualisation et en fin de séquence du lancement de l'impression une message d'erreur
    List index (0) out of bounds et la suite habituelle Press OK ou Press Cancel.
    Toujours très étrange et le message d'erreur ne me parle pas.
    Donc A+ et encore merci pour tes recherches
    Pour info je te joins mon unité impression
    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
    unit ureport;
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, db, Sqlite3DS, FileUtil, PrintersDlgs, LR_Class, LR_DBSet,
      LR_View, LR_PGrid, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,
      DBGrids;
     
    type
     
      { TFimprime }
     
      TFimprime = class(TForm)
        Bprepare: TButton;
        Bimpression: TButton;
        Bretour: TButton;
        FrPrintGrid: TFrPrintGrid;
        Source: TDataSource;
        frDBDataSet: TfrDBDataSet;
        frPreview: TfrPreview;
        frReport: TfrReport;
        Panel1: TPanel;
        PrintDialog: TPrintDialog;
        Depense: TSqlite3Dataset;
        procedure BimpressionClick(Sender: TObject);
        procedure BprepareClick(Sender: TObject);
        procedure BretourClick(Sender: TObject);
      private
        { private declarations }
      public
        { public declarations }
      end;
     
    var
      Fimprime: TFimprime;
     
    implementation
     
    {$R *.lfm}
     
    { TFimprime }
     
    procedure TFimprime.BretourClick(Sender: TObject);
    begin
      close;
    end;
     
    procedure TFimprime.BprepareClick(Sender: TObject);
    begin
      ShowMessage('Chargement fichier');
      frReport.LoadFromFile('essai.lrf');
      ShowMessage('Le fichier est chargé');
      frReport.ShowReport;
      ShowMessage('Prévisualisation terminée');
      Bimpression.Enabled:=True;
    end;
     
    procedure TFimprime.BimpressionClick(Sender: TObject);
    begin
      Bimpression.Enabled:=False;
      ShowMessage('Bouton impression inactif');
      Frreport.PrepareReport;
      ShowMessage('Prépare l''impression');
      Frreport.PrintPreparedReport(' ',1);
      ShowMessage('Impression terminée');
    end;
     
     
     
    end.

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    Salut,
    Citation Envoyé par ovni76 Voir le message
    depuis le bureau les mêmes messages mais pas d'affichage de la prévisualisation et en fin de séquence du lancement de l'impression une message d'erreur
    List index (0) out of bounds et la suite habituelle Press OK ou Press Cancel.
    Toujours très étrange et le message d'erreur ne me parle pas.
    ça, typiquement ça fait penser à une liste (StringList ou autre) dont tu penses qu'elle est remplie alors que du point de vue du logiciel elle ne l'est pas.

    Maintenant, pourquoi ce comportement étrange en passant par ton raccourci, là je déclare forfait.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/10/2012, 17h39
  2. Réponses: 2
    Dernier message: 05/04/2012, 14h06
  3. Réponses: 3
    Dernier message: 06/02/2012, 17h16
  4. Réponses: 5
    Dernier message: 15/06/2007, 14h56
  5. [FLASH MX2004 PRO] Problème étrange avec LoadClip...
    Par josemoroide dans le forum Flash
    Réponses: 6
    Dernier message: 04/08/2004, 15h41

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