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 :

[LazReport] Message sur l'évènement GetValue [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 179
    Points
    179
    Par défaut [LazReport] Message sur l'évènement GetValue
    Bonjour,

    Dans la réalisation d'un rapport relatif à l'exploitation d'une base de données SQlite-3 créée et gérée par Lazarus 2.2.4 sous Windows10, on est amené à l'utiliser l'évènement OnGetValue du composant TfrRepport comme dans l'exemple ci-après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TF_PromoA.frR_ListNGetValue(const ParName: String;
      var ParValue: Variant);
    begin
      if ParName = 'SiglEcolN' Then  ParValue := Ed_SiglEcol.Text ;
      if ParName = 'NumPromoN' Then  ParValue := F_PromoA.Ed_PromActiv.Text ;
    end;
    L'action commandée par ce code se déroule sans problème mais lors de la compilation du code, un avertissement s'affiche en marge de la ligne de code :
    note :Call to Subroutine "operator = cOnst. source AniSTring ) : Variant" marked as Inline is not inlined.
    Cette note s'affiche chaque fois qu'il est fait appel à cet évènement.
    Je suppose qu'il faut peut-être convertir en Variant la chaine Ansi renvoyée par ParValue. Est-ce bien le cas ?
    Que signifie cet avertissement sachant que l'affichage du rapport se fait correctement par ShowReport Mais, lorsque l'on ferme la prévualisation du rapport et tente d'afficher un autre type de rapport un message "Database is locked s'affiche", mais ce message n'a peut-être rien à voir avec la note sur la ligne if parName = ....

    Merci pour un éventuel éclairage sur le sujet.

    R.O.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 432
    Points : 1 128
    Points
    1 128
    Par défaut
    Bonjour,

    Citation Envoyé par OR34a Voir le message
    Je suppose qu'il faut peut-être convertir en Variant la chaine Ansi renvoyée par ParValue. Est-ce bien le cas ?
    NON. Surtout pas LAZREPORT utilise des variants...

    Le message signifie simplement que FPC n'a pas mis la procédure inline (c’est à dire qu'il n'a pas mis le code de la procédure dans ton code mais qu'il fait un appel de procédure pour l'opérateur = Dans au lieu mettre le code permettant de tester l'égalité entre ParName et SiglEcolN directement dans ton code, il fait un appel de fonction (qui coûte un peu plus en raison de l'appel du prologue et de l'épilogue de cette fonction (qui a été notée Inline par le développeur)

    Cordialement

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 206
    Points : 179
    Points
    179
    Par défaut Réponse
    Bonjour,

    Merci pour votre éclairage.
    Cordialemnt
    R.O.

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

Discussions similaires

  1. [C#] Timer sur les évènements des messages Windows
    Par Nullos Oracle dans le forum Windows Forms
    Réponses: 1
    Dernier message: 19/09/2006, 11h33
  2. Condition sur un événement
    Par kobe dans le forum Langage
    Réponses: 2
    Dernier message: 11/07/2005, 10h17
  3. Comment déterminer la fin d'un message sur le port serie ?
    Par zeddy23 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 11/01/2005, 05h12
  4. Réponses: 3
    Dernier message: 09/12/2004, 11h49
  5. Howto - Envoi message sur réseau
    Par Thomad dans le forum Windows
    Réponses: 2
    Dernier message: 31/03/2004, 16h46

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