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 :

Tout est figé lors de l'exécution du programme


Sujet :

Delphi

  1. #1
    Membre régulier Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Points : 111
    Points
    111
    Par défaut Tout est figé lors de l'exécution du programme
    Bonjour à tous,

    Voilà, le problème est que lorsque j'exécute ma procédure de recherche sur mes 2 tables, (Recherche et édition sur une troisième table) tout les autres composants et boutons sont désactivés!!! L'application est occupée et on ne peut même pas réduire la fenêtre ou autre!!!

    Est ce qu'il est possible par exemple de programmer un bouton 'annuler' pour interompre la recherche, auquel cas il faudrait déja avoir la possibilité de cliquer dessus lors de l'exécution de la procédure de recherche

    merci

  2. #2
    Membre du Club Avatar de zoheir13
    Inscrit en
    Décembre 2006
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 114
    Points : 66
    Points
    66
    Par défaut
    Est ce que tu peut donner votre procedure de recherche. pour voir si on peut optimiser.

  3. #3
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Ou alors, il suffit d'exécuter ta procédure de recherche/édition dans un Thread.
    Tu garderas ainsi le contrôle sur ta fenêtre principale.

    @+

  4. #4
    Membre régulier Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Points : 111
    Points
    111
    Par défaut
    Oui , voilà

    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
    74
    75
    76
    77
    78
    procedure TFAbsence.SearchButtonClick(Sender: TObject);
    Var
    trouv:boolean;
    i,j:integer;
    begin
     DataModule3.personnel.First;
     DataModule5.TableEvent.First;
     trouv:=false;
      i:=0;
      j:=0;
      editAbs.Text:='0';
      editAbs.Update;
      editPrs.Text:='0';
      editPrs.Update;
    While not  DataModule3.personnel.Eof do
        begin
         while not DataModule5.TableEvent.Eof do
             begin
               if (DataModule3.personnel.FieldValues['PUCE']=DataModule5.TableEvent.FieldValues['PUCE']) and (trouv=false) then
                  begin
                   DataModule5.TabTempPrs.Append;
                   DataModule5.TabTempPrs.FieldValues['MATRICULE']:=DataModule3.personnel.FieldValues['MATRICULE'];
                   DataModule5.TabTempPrs.FieldValues['PUCE']:=DataModule3.personnel.FieldValues['PUCE'];
                   DataModule5.TabTempPrs.FieldValues['NOM']:=DataModule3.personnel.FieldValues['NOM'];
                   DataModule5.TabTempPrs.FieldValues['PRENOM']:=DataModule3.personnel.FieldValues['PRENOM'];
                   DataModule5.TabTempPrs.FieldValues['FONCTION']:=DataModule3.personnel.FieldValues['FONCTION'];
                   DataModule5.TabTempPrs.FieldValues['DEPT']:=DataModule3.personnel.FieldValues['DEPT'];
                   DataModule5.TabTempPrs.FieldValues['EVENT']:=DataModule5.TableEvent.FieldValues['EVENT'];
                   DataModule5.TabTempPrs.FieldValues['DATE']:=DataModule5.TableEvent.FieldValues['DATE'];
                   DataModule5.TabTempPrs.FieldValues['HEURE']:=DataModule5.TableEvent.FieldValues['HEURE'];
                   DataModule5.TabTempPrs.post;
                   i:=i+1;
                   editPrs.Text:=inttostr(i);
                   editPrs.Update;
                   DataModule5.TabTempPrs.Next;
                   trouv:=true;
                end;   //end if
     
                DataModule5.TableEvent.Next;
     
         end;
     
                if (trouv=false) then
                 begin
                  DataModule5.TabTempAbs.Append;
                  DataModule5.TabTempAbs.FieldValues['MATRICULE']:=DataModule3.personnel.FieldValues['MATRICULE'];
                  DataModule5.TabTempAbs.FieldValues['PUCE']:=DataModule3.personnel.FieldValues['PUCE'];
                  DataModule5.TabTempAbs.FieldValues['NOM']:=DataModule3.personnel.FieldValues['NOM'];
                  DataModule5.TabTempAbs.FieldValues['PRENOM']:=DataModule3.personnel.FieldValues['PRENOM'];
                  DataModule5.TabTempAbs.FieldValues['FONCTION']:=DataModule3.personnel.FieldValues['FONCTION'];
                  DataModule5.TabTempAbs.FieldValues['DEPT']:=DataModule3.personnel.FieldValues['DEPT'];
                  DataModule5.TabTempAbs.FieldValues['DATE']:=DataModule5.TableEvent.FieldValues['DATE'];
                   DataModule5.TabTempAbs.Post;
                   j:=j+1;
                   editAbs.Text:=inttostr(j);
                   editAbs.update;
                  DataModule5.TabTempAbs.Next;
     
                  DataModule5.TableEvent.First;
                  DataModule3.personnel.Next;
     
                 end; //end if
     
                  if (trouv=true) then
                  begin
                  DataModule5.TableEvent.First;
                  DataModule3.personnel.Next;
                  trouv:=false;
                  end;
     
     
           end; //end While
     
     
     
     
     
    end;

  5. #5
    Membre régulier Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Points : 111
    Points
    111
    Par défaut
    Ou alors, il suffit d'exécuter ta procédure de recherche/édition dans un Thread.
    Tu garderas ainsi le contrôle sur ta fenêtre principale.
    un thread????

  6. #6
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par souminet Voir le message
    un thread????
    Tu peux déjà regarder ceci dans la .
    Ensuite il me semble que tu peux optimiser ta procédure en utilisant des locate par exemple.
    @+

  7. #7
    Membre régulier Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Points : 111
    Points
    111
    Par défaut
    Ok, je vais opter pour le Thread !!

    Merci pour le lien vers la FAQ

    @++

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

Discussions similaires

  1. [OpenLaszlo] Dimensions d'une view dont la ressource est chargée lors de l'exécution
    Par scarlatine dans le forum Autres langages pour le Web
    Réponses: 1
    Dernier message: 03/11/2009, 17h12
  2. problème lors de l'exécution de programme
    Par annesophiedecar dans le forum Linux
    Réponses: 1
    Dernier message: 14/05/2009, 01h48
  3. Réponses: 6
    Dernier message: 05/11/2008, 09h24
  4. Réponses: 4
    Dernier message: 19/10/2006, 18h04
  5. Réponses: 2
    Dernier message: 25/07/2006, 11h52

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