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 :

Contrôle Splash particulier [Lazarus]


Sujet :

Lazarus Pascal

  1. #21
    Membre actif
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Points : 290
    Points
    290
    Par défaut
    Merci beaucoup Guesset pour ton aide,

    Oui, la propriété visible doit rester à false...
    Par contre if SplashForm <> Nil est à mon avis inutile car la fiche existe bien, j'avais fait un essai en vérifiant le Handle.

    Comme tu dis, il y a un souci caché. Je refais une mise à jour de Lazarus, il y a eu des updates depuis décembre...
    Lazarus évolue vite.
    J'ai refais un essai, ça ne change rien en reprenant le code qui fonctionne chez toi....

    J'ai donc récréé totalement l'exemple, manuellement sauf l'unité uSplash que j'ai gardée.
    Je suis passé également en Débug DWARF 3 avant, j'étais en 2...
    C'est Bon, ça fonctionne et ton code depuis le début est simple, merci
    Je remets mon dernier ZIP

    Je n'ai plus qu'à transposer sur mon Appli réelle!
    Fichiers attachés Fichiers attachés
    Je programme en Lazarus 3.2.2 sous windows 10 pro

  2. #22
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 335
    Points : 4 158
    Points
    4 158
    Par défaut
    Bonjour Jimat,

    Citation Envoyé par Jlmat Voir le message
    Par contre if SplashForm <> Nil est à mon avis inutile car la fiche existe bien, j'avais fait un essai en vérifiant le Handle.
    En mettant un point d'arrêt sur la ligne SplashForm.ShowModal, le debugger montre que l'objet SplashForm est à nil au moment de l'appel. Le handle désigne la ressource windows allouée à la fiche, il est lié à la création du composant mais je ne sais pas dans quel ordre (la fiche Windows peut être créée sur la seule base du lfm).

    En résumé, c'est tombé en marche

    Cela illustre bien le "proverbe" informatique : Quand ça ne marche pas, on ne sait pas pourquoi, et quand ça marche, on ne le sait pas non plus .

    Salut
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  3. #23
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Bonjour tout le monde !

    Pas eu le temps de regarder tous les exemples proposés dans la discussion, mais en fouillant sur le forum anglais j'ai trouvé un exemple très simple et qui chez moi (sous Linux) fonctionne parfaitement. En plus il me semble qu'il correspond assez bien à ce que Jlmat souhaite faire. À voir...
    Fichiers attachés Fichiers attachés
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  4. #24
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Guesset Voir le message
    En mettant un point d'arrêt sur la ligne SplashForm.ShowModal, le debugger montre que l'objet SplashForm est à nil au moment de l'appel.
    Ce serait bien que quelqu'un nous fasse un jour un tutoriel sur l'utilisation du debugger. Personnellement je ne sais pas m'en servir. Je me débrouille autrement, mais je commence à me dire que je passe à côté de quelque chose. (Dans MSEide aussi, il y a des possibilités d'utilisation du debugger très sophistiquées, que je ne maîtrise pas non plus malheureusement. )
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  5. #25
    Membre actif
    Avatar de Jlmat
    Homme Profil pro
    Consultant en Ressources Humaines, Retraité passionné de programmation
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Ressources Humaines, Retraité passionné de programmation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Points : 290
    Points
    290
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    Bonjour tout le monde !

    Pas eu le temps de regarder tous les exemples proposés dans la discussion, mais en fouillant sur le forum anglais j'ai trouvé un exemple très simple et qui chez moi (sous Linux) fonctionne parfaitement. En plus il me semble qu'il correspond assez bien à ce que Jlmat souhaite faire. À voir...
    Bonjour Roland,

    J'avais vu ce code, mais justement, il n'est pas tout à fait le même en ce sens que la fermeture de la Splash est conditionnée à un temps prédéterminé par le timer.
    Or il me faut 1. imposer un minimum de temps pour chacune des tâches même si elles sont déjà finies...
    2. ne pas fermer la splash tant que l'utilisateur ne l'autorise pas pour différentes raisons de contrôles éventuels supplémentaires...
    La procédure Timer impose un fonctionnement incompatible avec mon process, me semble t-il. La solution trouvée dans le dernier Zip avec l'aide de Tourlourou et Guesset, très simple est adaptable à mon projet...

    Concernant un tutorial, je suis pour : le débug + paramétrage des différentes options ou un memo pour ne pas avoir à tout remettre les paquets d'une version à l'autre...

    A+
    Je programme en Lazarus 3.2.2 sous windows 10 pro

  6. #26
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Jlmat Voir le message
    La procédure Timer impose un fonctionnement incompatible avec mon process, me semble t-il. La solution trouvée dans le dernier Zip avec l'aide de Tourlourou et Guesset, très simple est adaptable à mon projet...
    Ah, au temps pour moi, j'ai lu trop vite la discussion et j'ai cru que la solution n'avait pas été trouvée.

    Citation Envoyé par Jlmat Voir le message
    Or il me faut 1. imposer un minimum de temps pour chacune des tâches même si elles sont déjà finies...
    2. ne pas fermer la splash tant que l'utilisateur ne l'autorise pas pour différentes raisons de contrôles éventuels supplémentaires...
    Je n'ai pas l'impression que la différence soit si grande entre ce que fait l'exemple et ce que vous voulez faire, mais peu importe puisque le problème est résolu.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  7. #27
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 335
    Points : 4 158
    Points
    4 158
    Par défaut
    Bonjour Roland ,

    Citation Envoyé par Roland Chastain Voir le message
    Ce serait bien que quelqu'un nous fasse un jour un tutoriel sur l'utilisation du debugger. Personnellement je ne sais pas m'en servir. Je me débrouille autrement, mais je commence à me dire que je passe à côté de quelque chose. (Dans MSEide aussi, il y a des possibilités d'utilisation du debugger très sophistiquées, que je ne maîtrise pas non plus malheureusement. )
    Je suis loin d'être un expert en la matière (par exemple je ne programme pas les points d'arrêt conditionnels) mais comme j'inclus assez souvent de l'assembleur dans mon code et qu'il arrive (souvent) qu'il ne fasse pas ce que je veux, le mode debug code assembleur + registres est indispensable même si j'aimerais que Lazarus garde les choix d'affichage faits et permette de cacher certaines colonnes de la vue assembleur comme les codes effectifs en hexa des instructions. Dans la vue assembleur, tu vois le code assembleur engendré mais aussi la ligne source pascal qui l'a engendré. C'est très instructif même si les modes d'optimisations élevées sont incompatibles avec le mode debug.

    Mais il n'est pas nécessaire de faire de l'assembleur pour que cela soit utile. Il y a une vue des variables locales qui montre les valeurs de toutes les variables utilisées dans la fonction où le débogueur se trouve. Bien sûr on peut aussi faire son cocktail de variables à surveiller. Cependant j'avoue que je ne saurais pas trop faire un papier sur le sujet parce que c'est plus de la pratique qu'autre chose. Je vais néanmoins y réfléchir.

    Salut
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  8. #28
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Guesset Voir le message
    Cependant j'avoue que je ne saurais pas trop faire un papier sur le sujet parce que c'est plus de la pratique qu'autre chose. Je vais néanmoins y réfléchir.
    Merci ! Je suis prêt à aider et à servir de cobaye.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Comment faire un splash screen pour son application?
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/04/2007, 14h28
  2. Réponses: 2
    Dernier message: 05/01/2004, 11h23
  3. affichage de controles sur un splash screen
    Par shrek dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/11/2003, 19h59
  4. Select particulier .
    Par hamed dans le forum Langage SQL
    Réponses: 9
    Dernier message: 17/11/2003, 15h45

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