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

Affichage des résultats du sondage: Le Sender

Votants
3. Vous ne pouvez pas participer à ce sondage.
  • Ne rien changer

    0 0%
  • Ajouter un Sender systématique sur les "procedure of object"

    1 33,33%
  • Autoriser les fonctions anonymes

    0 0%
  • Peu m'importe

    2 66,67%
Flash Pascal Discussion :

Pour on contre le Sender ?


Sujet :

Flash Pascal

  1. #1
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut Pour on contre le Sender ?
    voici le problème:

    Sous ActionScript on utilise généralement des fonctions anonymes pour gérer les évènements:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    {
      Movie.onPress = function() {
      }
    }
    Sous FlashPascal j'ai voulu m'inspirer de Delphi et je n'ai pas autorisé les méthodes anonymes que je n'aime pas personnellement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    type
      MovieClip = class ...
        property onPress: procedure of object;
      end;
     
    begin
      Movie.onPress := doPress;
    end;
     
    procedure MyMovie.doPress;
    begin
    end;
    par contre cette syntaxe gagnerait à avoir un paramètre Sender à la Delphi

    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
      MovieClip = class ...
        property onPress: procedure(Sender: TObject) of object;
      end;
     
    begin
      Button1.onPress := doPress;
      Button2.onPress := doPress;
    end;
     
    procedure MyMovie.doPress(Sender: TObject);
    begin
      if Sender = Button1 then...
    end;
    L'équivalent ActionScript serait
    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
     
    {
      var self = this; // nécessaire pour référencer this dans la méthode anonyme
      Button1.onPress = function() {
        self.doPress(Button1);
      }
      Button2.onPress = function() {
        self.doPress(Button2);
      }
    }
     
    class Movie ...
      function doPress(Sender: Object) {
      }
    }
    L'autre solution serait d'autoriser les fonctions anonymes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      Button1.onPress = procedure begin
        ...
      end;
      Button2.onPress = procedure begin
        ...
      end;
    Qu'en pensez-vous ?

    non c'est bien comme c'est
    il faut ajouter un Sender
    il faut autoriser les fonctions anonymes
    hein ?!
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  2. #2
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    il faut ajouter un Sender.

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    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 070
    Points : 15 454
    Points
    15 454
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    Qu'en pensez-vous ?
    C'est gentil de demander notre avis.

    J'ai voté "peu m'importe", c'est-à-dire que je te suis.

    A propos d'ActionScript, franchement, je n'ai pas l'intention de m'y intéresser. Ce qui se passe entre mon code et le résultat final, je ne veux pas le savoir.

    "...with just some Pascal knowledge."
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    C'est gentil de demander notre avis.

    J'ai voté "peu m'importe", c'est-à-dire que je te suis.

    A propos d'ActionScript, franchement, je n'ai pas l'intention de m'y intéresser. Ce qui se passe entre mon code et le résultat final, je ne veux pas le savoir.

    "...with just some Pascal knowledge."
    bon j'ai les yeux qui piquent mais j'ai trouvé une solution au problème du type "class.prop := autreClass.method"...mais comme ça chaque fois que je fais des modifications profondes sur le compilateur je relance la compilation de tous les projets démo...et là j'en ai deux qui ne fonctionnent plus ! donc je verrais plus tard, il est minuit par ici
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Ne te casse pas trop la tête, c'est un détail...
    On est obligé à chaque fois de tout reprendre pour les applications... C'est toi le chef, tu fais comme tu le sens. Ta décision sera la nôtre.

    @+

Discussions similaires

  1. Arguments pour et contre Access ?
    Par bottura dans le forum Sondages et Débats
    Réponses: 240
    Dernier message: 23/03/2018, 23h25
  2. [AJAX] Pour ou contre?
    Par Death83 dans le forum AJAX
    Réponses: 58
    Dernier message: 19/11/2017, 16h09
  3. Pour ou contre l'Open source ?
    Par Thcan dans le forum Débats sur le développement - Le Best Of
    Réponses: 317
    Dernier message: 01/05/2008, 15h06
  4. [Mapping O/R] - Pour ou contre les procédures stockées
    Par spidetra dans le forum Persistance des données
    Réponses: 8
    Dernier message: 03/04/2006, 10h01
  5. [techno] Précharger les images d'un site pour ou contre?
    Par Death83 dans le forum Webdesign & Ergonomie
    Réponses: 19
    Dernier message: 26/10/2005, 10h21

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