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 :

Propriétés non fonctionnelles de TComboBox et TForm [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de naute
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2009
    Messages : 708
    Par défaut Propriétés non fonctionnelles de TComboBox et TForm
    Bonjour .

    Je travaille (?), depuis quelques temps déjà, sur une version Lazarus 2.1.0 / FPC 3.3.1 installés avec fpcupdeluxe, qui ne me posait pas de problème spécifique, jusqu'à ce que j'aie besoin, pour une petite application, de mettre à True la propriété ReadOnly d'un TComboBox, et à fsStayOnTop la propriété FormStyle d'un TForm.
    Je constate les faits suivants :
    • la propriété ReadOnly, positionnée à False par défaut, reste à False quand on clique dessus dans l'inspecteur d'objet, et donc est inutilisable par ce biais ;
    • la propriété FormStyle se paramètre correctement à fsStayOnTop mais n'a aucun effet ;
    • le paramétrage de ces deux propriétés dans le code n'a aucun effet.


    Je me suis dit que ce dysfonctionnement venait de la version non officielle que j'utilise, et pour rentrer dans les clous, j'ai installé, toujours avec fpcupdeluxe, la version considérée comme stable actuellement, à savoir Lazarus 2.0.10 / FPC 3.2.0 : pas mieux. .

    Quelqu'un aurait-il un avis sur la question ?

    Merci d'avance,
    naute

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 154
    Par défaut
    Yop !

    Pour la Form, utilise fsSystemStayOnTop et ne me demande pas pourquoi, sinon je te répondrai parce que,

    Pour la ComboBox, ouaip, c'est chelou, et le pire c'est que si tu choisis csDropDownList, c'est l'inverse, le ReadOnly passe à true et y reste…

    Pas d'idée du pourquoi du comment, Debian 10.5 64 bits, FPC 3.2 / Laz 2.0.10

  3. #3
    Rédacteur

    Avatar de naute
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2009
    Messages : 708
    Par défaut
    Bonjour à tous les deux .

    Citation Envoyé par Jipété Voir le message
    Pour la Form, utilise fsSystemStayOnTop et ne me demande pas pourquoi, sinon je te répondrai parce que
    Pourquoi ?
    Plus sérieusement, ça fonctionne.

    Citation Envoyé par Jipété Voir le message
    Pour la ComboBox, ouaip, c'est chelou, et le pire c'est que si tu choisis csDropDownList, c'est l'inverse, le ReadOnly passe à true et y reste…
    Pas d'idée du pourquoi du comment, Debian 10.5 64 bits, FPC 3.2 / Laz 2.0.10
    En ce qui me concerne, je suis sous Debian 9.13 64 bits, FPC 3.2 / Laz 2.0.10, ce qui, j'imagine, n'a pas grande influence sur le phénomène. Par contre, le paramétrage csDropDownList résout parfaitement mon problème. Je n'y avais pas pensé.

    Citation Envoyé par BeanzMaster Voir le message
    Salut Naute ça fait une petit moment dis donc
    Je suis toujours dans le coin, mais tant que je n'ai rien de concret à apporter dans les discussions, je me contente de faire du voyeurisme .

    Citation Envoyé par BeanzMaster Voir le message
    La propriété ReadOnly est en lecture seule. Je ne comprend d'ailleurs pas moi même pourquoi celle-ci est publiée et non publique
    C'est effectivement absurde, parce que, étant en lecture seule, elle ne peut être utilisée que dans le code, et n'a donc rien à faire dans l'inspecteur d'objet.

    Citation Envoyé par BeanzMaster Voir le message
    fsSystemStayOnTop est identique à fsStayOnTop, sauf que fsStayOnTop c'est pour une "form" secondaire pour que celle-ci reste sur le dessus de l'application (la "form" principale).
    Avec fsSystemStayOnTop c'est l'application qui reste toujours au dessus des autres applications
    Subtilité que j'ignorais totalement, mais que je vais mettre de côté pour utilisation future.

    et à bientôt,
    naute

  4. #4
    Membre émérite

    Homme Profil pro
    Rédacteur technique (retraité)
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique (retraité)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Par défaut
    Bonjour,

    Envoyé par BeanzMaster

    La propriété ReadOnly est en lecture seule. Je ne comprend d'ailleurs pas moi même pourquoi celle-ci est publiée et non publique


    C'est effectivement absurde, parce que, étant en lecture seule, elle ne peut être utilisée que dans le code, et n'a donc rien à faire dans l'inspecteur d'objet.

    Si on va voir les sources de TComBoBox dans la LCL on trouve le commentaire suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    property ReadOnly; deprecated 'Will be removed in 2.2 - use extended Style values instead.';
    Je présume que c'est une propriété qui n'a plus d'usage mais est maintenue pour garantir la compatibilité avec d'anciens projets.

  5. #5
    Rédacteur

    Avatar de naute
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2009
    Messages : 708
    Par défaut
    Bonjour .

    Merci pour l'info .

    Citation Envoyé par DomDA91
    Je présume que c'est une propriété qui n'a plus d'usage mais est maintenue pour garantir la compatibilité avec d'anciens projets.
    Peut-être, mais si elle ne fonctionne pas, ça ne sert pas à grand chose. À tout prendre, il vaut mieux que son absence provoque une erreur à la compilation, ce qui permet d'objectiver le problème et de le régler, plutôt que de provoquer un éventuel dysfonctionnement dont la cause sera peut-être plus difficile à établir.

    Amicalement,
    naute

  6. #6
    Membre émérite

    Homme Profil pro
    Rédacteur technique (retraité)
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique (retraité)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Par défaut
    Bonjour,

    Citation Envoyé par naute
    Peut-être, mais si elle ne fonctionne pas, ça ne sert pas à grand chose. À tout prendre, il vaut mieux que son absence provoque une erreur à la compilation, ce qui permet d'objectiver le problème et de le régler, plutôt que de provoquer un éventuel dysfonctionnement dont la cause sera peut-être plus difficile à établir.
    Ce que je redoute dans ce cas c'est que s'agissant d'une propriété "published" cela ne se résume pas à une simple erreur à la compilation du projet.
    L'identifiant de la propriété peut avoir été cité dans le fichier .lfm d'une fiche et rendre celui-ci invalide si l'identifiant a été supprimé entre temps.
    Je ne sais pas trop comment Lazarus réagit lors du chargement du projet s'il rencontre une telle erreur. Au mieux il émet un message demandant s'il doit supprimer le composant concerné, au pire il refuse d'ouvrir le projet !

    Il faudrait expérimenter pour être fixé, malheureusement je n'ai pas beaucoup de temps en ce moment.

    A+

  7. #7
    Membre Expert
    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
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par naute Voir le message
    Bonjour .

    mettre à True la propriété ReadOnly d'un TComboBox
    Salut Naute ça fait une petit moment dis donc

    Comme l'a dit Jipete c'est par la propriété "Style" = csDropDownList. La propriété ReadOnly est en lecture seule. Je ne comprend d'ailleurs pas moi même pourquoi celle-ci est publiée et non publique

    Citation Envoyé par naute Voir le message
    et à fsStayOnTop la propriété FormStyle d'un TForm.
    Je constate les faits suivants :
    • la propriété ReadOnly, positionnée à False par défaut, reste à False quand on clique dessus dans l'inspecteur d'objet, et donc est inutilisable par ce biais ;
    • la propriété FormStyle se paramètre correctement à fsStayOnTop mais n'a aucun effet ;
    • le paramétrage de ces deux propriétés dans le code n'a aucun effet.
    fsSystemStayOnTop est identique à fsStayOnTop, sauf que fsStayOnTop c'est pour une "form" secondaire pour que celle-ci reste sur le dessus de l'application (la "form" principale).
    Avec fsSystemStayOnTop c'est l'application qui reste toujours au dessus des autres applications

    La notion entre les deux est mince, et peut poser un problème de compréhension comme c'est le cas ici.

    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

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

Discussions similaires

  1. Update non fonctionnel
    Par kissmytoe dans le forum Access
    Réponses: 7
    Dernier message: 07/03/2006, 18h37
  2. [REPORTS] Order BY non fonctionnel
    Par sdiack dans le forum Reports
    Réponses: 2
    Dernier message: 10/02/2006, 18h10
  3. Réponses: 10
    Dernier message: 20/01/2006, 11h50
  4. propriété non visible
    Par chtiot dans le forum Langage
    Réponses: 10
    Dernier message: 15/09/2005, 10h30
  5. [TFiler, TWriter] Propriété non publiée : Ancestor kesako ?
    Par phplive dans le forum Composants VCL
    Réponses: 5
    Dernier message: 13/07/2005, 14h34

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