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

Flash Pascal Discussion :

Manque directive abstract


Sujet :

Flash Pascal

  1. #1
    Membre expérimenté
    Manque directive abstract
    En faisant dériver le TLabel pour faire un Tedit en ajoutant type:='input';
    J'ai ajouté une procedure virtuelle overridée dans une classe descendante pour gérer un onchange.
    On est obligé de faire une implémentation avec rien dedans. La directive abstract serait la bienvenue.

    Est-ce possible ?

    merci

  2. #2
    Expert éminent sénior
    je n'ai pas compris ton exemple.

    abstract est intéressant mais attention, il n'est pas normal qu'une classe qu'on peut instancier contienne une méthode abstraite.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre expérimenté
    Citation Envoyé par Paul TOTH Voir le message
    je n'ai pas compris ton exemple.
    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
     
    type
     Masuperclasse=class
      procedure faire;virtual;abstract;   //je la déclare sans l'implémenter
     end;
     
     maclassedescendante=class(Masuperclass)
      procedure faire;override;
     end;
     
     
    procedure maclassedescendente.faire;
    begin
     blabla.....
    end;


    capito mon capitaine

  4. #4
    Expert éminent sénior
    oui mais j'ai cru comprendre que tu mettais un onChange abstract dans TEdit, ce qui ne me semble pas être une bonne idée vu qu'on ne devrait alors jamais instancier un TEdit
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre expérimenté
    Citation Envoyé par Paul TOTH Voir le message
    oui mais j'ai cru comprendre que tu mettais un onChange abstract dans TEdit, ce qui ne me semble pas être une bonne idée vu qu'on ne devrait alors jamais instancier un TEdit
    Ok, je percute... Mon idée était de faire :

    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
     
    type 
     Tedit=class(TLabel)
       procedure onChange;virtual;abstract;
       ........
     end;
     
    //et puis dans mon programme de faire :
     
    type 
     TEdit1=class(TEdit)
      procedure onChange;override,
     end;
     
    var Edit1:TEdit1;
     
    .......
     
    procedure TEdit1.onChange;
    begin
      blabla...
    end;


    c'était ça mais ce n'est peut-être pas judicieux...