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

Delphi Discussion :

Probleme avec une Gauge


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Par défaut Probleme avec une Gauge
    Bonjour a tous,

    Alors je gère une progress form, simplement pour une attente, cependant cette Attente, je l'ai mis dans une unité a part.

    Le probleme est que ma form bug un peu, la gauge n'evolue pas et mes labels ne sont pas visible, quand je fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    FormEnCours.Timer1.Enabled:=True;
    FormEnCours.Show;
    ...
    ...Partie du programme
    ...
    FormEnCours.Timer1.Enabled:=False;
    Tandis qu'avec
    Tout est bloqué jusqu'à que je ferme la form.

  2. #2
    Membre chevronné
    Avatar de Philippe Gormand
    Inscrit en
    Mars 2002
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 330
    Par défaut
    Bonjour.

    Envois le code de la procédure Timer.

    A+

  3. #3
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Salut
    C'est normal, ShowModal "bloque" la fenêtre qui appelle... Donc si ta TGauge est dessu, ben elle est bloquée aussi ... La solution serait de mettre cette Gauge sur la fiche que tu appelles avec ShowModal.
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Par défaut
    Citation Envoyé par Philippe Gormand
    Envois le code de la procédure Timer
    Voila le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TFormEnCours.Timer1Timer(Sender: TObject);
    var
     t:integer;
    begin
     t := t + 1;
     if t = 101 then
      t := 0;
     spSkinGauge1.Value := t;
    end;
    Citation Envoyé par Pedro
    C'est normal, ShowModal "bloque" la fenêtre qui appelle... Donc si ta TGauge est dessu, ben elle est bloquée aussi ... La solution serait de mettre cette Gauge sur la fiche que tu appelles avec ShowModal.
    Justement ma gauge n'est pas dans la fenetre qui appelle.

    j'ai fait une fenetre toute seule dans laquel il y a seulement la gauge et un label.

  5. #5
    Membre chevronné
    Avatar de Philippe Gormand
    Inscrit en
    Mars 2002
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 330
    Par défaut
    La variable t est locale. Donc, elle réallouée à chaque passage dans la procédure Timer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <div style="text-align: left;">procedure TFormEnCours.Timer1Timer(Sender: TObject);
    var
     t:integer;
    begin
     t := t + 1;
     if t = 101 then
      t := 0;
     spSkinGauge1.Value := t;
    end;</div>
    Il faut modifier ton code ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var
       t : integer;
    
     
     
    
    procedure TFormEnCours.Timer1Timer(Sender: TObject); begin t := t + 1; // Comme t peut avoir n'importe quelle valeur par défaut, il vaut mieu... if t >= 101 then t := 0; spSkinGauge1.Value := t; end;

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Par défaut
    En faite je pense que je suis mal expliqué:

    Mon probleme est que lorsque je lance ma form, la gauge evolue normale, tout va bien.
    Mais quand elle se lance, je suis obligé de la fermer pour continué la suite du programme, il est la mon probleme.

    Je voudrai quelle se ferme toute seule, du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Ouverture de la form et évoulution de la ...
     
    ...Partie du programme
     
    Fermeture de la form
    Je souhaite faire cela car la Partie du programme est longue.

    Et voilà l'autre partie du code. Ce sont les seules procedure qu'il y a dans mon unités avec la procedure Timer1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TFormEnCours.FormCloseQuery(Sender: TObject;
     var CanClose: Boolean);
    begin
     if timer1.Enabled then
     begin
      ModalResult := mrAbort;
      //    CanClose := false;
     end;
    end;
    Merci.

Discussions similaires

  1. PROBLEME AVEC UNE TABLE INTERBASE
    Par barro dans le forum InterBase
    Réponses: 1
    Dernier message: 22/09/2004, 08h16
  2. [C#] [Oracle] Probleme avec une procedure stockée
    Par sronin1 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 28/05/2004, 19h04
  3. Probleme avec une table vide
    Par king dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/03/2004, 14h24
  4. au secour probleme avec une requete...
    Par soufiane59 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/09/2003, 10h28
  5. probleme avec une division par zéro
    Par jcharleszoxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2003, 18h14

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