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

Bases de données Delphi Discussion :

Inactiver un evenement( .AfterScroll)


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 47
    Points : 35
    Points
    35
    Par défaut Inactiver un evenement( .AfterScroll)
    L'utilisation d'évémenents comme TDatasetAfterScroll est très pratique en particulier pour assurer la mise à jour de données visibles à l'écran, mais extremement pénalisante lorsque des opérations balaient une table sans que ces données soient visibles.
    Est il possible "d'activer" ou de "désactiver" ces événements à la demande ?

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Il te suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Désactivation de l'événement
    MaTable.onAfterScroll := nil;
     
    // le traitement
     
    // Activation de l'événement
    MaTable.OnAfterScroll := MatableAfterScroll; //<-- Le nom de ton evènement
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    Je suis bluffé : 1'47" pour la réponse !
    ... avec un bémol, la syntaxe exacte serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MaTable.AfterScroll := nil;
    .......
    MaTable.AfterScroll := MaTable.AfterScroll;
    Je n'ai pas trouvé d'événement 'OnAfterScroll'

    Merci 1000 fois

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par Papino
    Je suis bluffé : 1'47" pour la réponse !
    ... avec un bémol, la syntaxe exacte serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MaTable.AfterScroll := nil;
    .......
    MaTable.AfterScroll := MaTable.AfterScroll;
    Je n'ai pas trouvé d'événement 'OnAfterScroll'

    Merci 1000 fois
    Si tu assignes MAtable.AfterScroll à lui même et que juste avant tu l'ai mis a nil, ca ne risquera jamais marcher.

    si tu as
    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
     
    type
      TDataModule1 = class(TDataModule)
        ADOConnection1: TADOConnection;
        AdoQuery: TADOQuery;
        procedure AdoQueryAfterScroll(DataSet: TDataSet);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      DataModule1: TDataModule1;
     
    implementation
     
    procedure TDataModule1.AdoQueryAfterScroll(DataSet: TDataSet);
    begin
    // ton code du onAfterscoll
    end;
     
    procedure TDataModule1.Traitement1;
    begin
      AdoQuery.OnAfterScroll := nil;
     
      // le traitement
     
      AdoQuery.OnAfterSCroll := AdoQueryAfterScroll;
    end;
     
    end.
    La ca fonctionnera
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 47
    Points : 35
    Points
    35
    Par défaut

    Pan sur le bec !
    J'ai écris trop vite !!!

    Merci encore

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

Discussions similaires

  1. [VB6] Interception des évènement Copier/Couper/Coller
    Par youtch dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/10/2002, 17h09
  2. [VB6] Evenement validate
    Par grosjej dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/09/2002, 15h46
  3. Evenement Change
    Par PierDIDI dans le forum Composants VCL
    Réponses: 3
    Dernier message: 28/08/2002, 10h08
  4. develloppement avec ORBit: service d'evenement
    Par belmontv dans le forum CORBA
    Réponses: 3
    Dernier message: 06/06/2002, 22h56
  5. Generation d'evenements a une date precise
    Par pascalzzz dans le forum MFC
    Réponses: 2
    Dernier message: 04/06/2002, 15h21

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