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

Langage Delphi Discussion :

Delphi and C++Builder Roadmap


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut Delphi and C++Builder Roadmap
    Pour info, la nouvelle roadmap pour Delphi
    http://dn.codegear.com/article/36620
    A propos de Tiburón :
    Delphi Language Enhancements
    Delphi’s Object Pascal programming language has always been a cutting-edge development language, implementing language features such as properties, methods and events, structured exception handling, or support for interfaces long before other languages. Delphi’s Object Pascal language will take even more significant steps forward in Tiburón.

    Specific language enhancements planned for Tiburón include:
    • Generics, including language and RTL support
    • Anonymous Methods, which enable the user to define a method in the body of an expression while extending the lifetime of any captured local declarations and assign the resulting method reference to a location of method reference type."
    Les génériques était annoncés mais pas les méthodes anonymes, ça c'est une bonne nouvelle !
    A ce propos voir aussi le travail de SJRD.

  2. #2
    Membre chevronné
    Avatar de nostroyo
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 168
    Billets dans le blog
    16
    Par défaut
    Ça c'est très intéressant, je trouvais que les méthodes annonyme était un concept très bien pensé.

    Maintenant qu'il va y avoir une implémentation en pascal Object, le reve.

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    ouais, moi je suis pas favorable à ce genre de techniques...mais je dois être trop vieux

    sinon je constate que le support linux n'est toujours pas annoncé...même si certains pensent que la phrase suivante dans la version commodore y fait référence "Cross-compilation to other operating systems"...
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #4
    dem
    dem est déconnecté
    Membre actif

    Inscrit en
    Juillet 2003
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Juillet 2003
    Messages : 114
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    ouais, moi je suis pas favorable à ce genre de techniques...mais je dois être trop vieux
    T'es peut-être trop vieux pour y être favorable, mais moi je doit être trop vieux pour comprendre ton explication......... vu que je suis plus vieux que toi....

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par dem Voir le message
    T'es peut-être trop vieux pour y être favorable, mais moi je doit être trop vieux pour comprendre ton explication......... vu que je suis plus vieux que toi....
    ah ouais, t'es super vieux mais elle est pas claire mon explication ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  6. #6
    dem
    dem est déconnecté
    Membre actif

    Inscrit en
    Juillet 2003
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Juillet 2003
    Messages : 114
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    ah ouais, t'es super vieux mais elle est pas claire mon explication ?
    Oh si, surement, pour ceux qui y connaissent quelque choses. Ce n'est nullement ton explication qui était en cause.

    C'était juste un petite boutade sur notre "grand âge"...

  7. #7
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par teubies Voir le message
    Ça c'est très intéressant, je trouvais que les méthodes annonyme était un concept très bien pensé.
    Et c'est quoi ?
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    c'est quand tu déclares une fonction en ligne...c'est par exemple indispensable quand tu développes en AJAX Asynchrone (du fait de la conception du composant).

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function download(url) {
     var ajax=InitAjax()
     ajax.open('GET',url,true); // requête asyncrhone
     ajax.onreadstatechange=function() {
      switch (ajax.readyState) {
       ...
      }
     }
     ajax.send(null); // lancer la requête
    }

    dans le code ci-dessus, on associe à l'événement onreadstatechange une fonction anonyme.

    ce qui est perturbant par rapport à nos habitudes sous Delphi, c'est d'une part que le code est déclaré en ligne, mais surtout que la variable locale "ajax" qui devrait ne plus exister en fin de procédure download, est persistante dans la procédure anonyme qui peut tranquillement y faire référence.

    typiquement sous Delphi on a un paramètre Sender qui identifie l'objet qui déclenche l'événement.

    en équivalent Delphi (bien que l'objet n'existe pas) on aurait
    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
     
    var
     ajax:THttpRequest;
    begin
     ajax:=THttpRequest;
     ajax.open('GET',url,true);
     ajax.OnReadyStateChange:=ReadyStateChange;
     ajax.send(null);
    // ne surtout pas détruire l'objet AJAX qui DOIT être global !
    end;
     
    function TForm1.OnReadyStateChange(Sender:TObject);
    begin
     case THttpRequest(Sender).ReadyState of
     ...
      4 : Sender.Free; // Transfert terminé, on peut supprimer l'objet
     end;
    end;
    Donc le futur Delphi permettrait d'écrire ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    var
     ajax:THttpRequest;
    begin
     ajax:=THttpRequest;
     ajax.open('GET',url,true);
     ajax.OnReadyStateChange:=function begin
      case ajax.readState of
       ...
       4  : ajax.Free; // transfert terminé, on peut supprimer l'objet
      end;
     end;
     ajax.send(null);
    end;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  9. #9
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    c'est quand tu déclares une fonction en ligne...c'est par exemple indispensable quand tu développes en AJAX Asynchrone (du fait de la conception du composant).
    J'ai regardé l'exemple, mais je ne vois pas en quoi c'est indispensable.
    Ca rend le code plus illisible, c'est tout.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

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

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par Lung Voir le message
    J'ai regardé l'exemple, mais je ne vois pas en quoi c'est indispensable.
    Ca rend le code plus illisible, c'est tout.
    tu peux t'en passer à condition de n'avoir qu'une requête asyncrhone à la fois, tu utilises alors une variable globale

    Code javascript : 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 ajax;
     
    function download(url) {
     if (!ajax) ajax=InitAjax()
     ajax.open('GET',url,true); // requête asyncrhone
     ajax.onreadstatechange=onReadyStateChange;
     ajax.send(null); // lancer la requête
    }
     
    function onReadyStateChange() {
      switch (ajax.readyState) {
       ...
      }
     }

    mais comment tu fais pour gérer deux requêtes simultanées ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  11. #11
    Membre expérimenté
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Par défaut
    L'évolution qui m'intéresse le plus dans cette version est le support UNICODE car CodeGear à pris un grand retard dans ce domaine, cette cause a été l'une des principale à de nombreux développeurs de délaisser Delphi au profit de C# ou autre.
    Mais bien sûr les autres évolutions sont toujours les bienvenus

  12. #12
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Billets dans le blog
    1
    Par défaut
    Je suis d'accord avec Delphicem, ça c'est vraiment une problématique que l'on ne peut plus ignorer ou devoir dépendre de composants tiers de nos jours.

Discussions similaires

  1. Nouvelle Roadmap Delphi et C++ Builder dispo sur bdn
    Par lapec_and_cie dans le forum Delphi
    Réponses: 3
    Dernier message: 13/06/2007, 12h42
  2. Delphi et C++ builder
    Par Jackfer dans le forum Delphi
    Réponses: 1
    Dernier message: 06/07/2006, 15h19
  3. Delphi et C++ builder
    Par Jackfer dans le forum C++Builder
    Réponses: 2
    Dernier message: 02/07/2006, 21h32
  4. Réponses: 1
    Dernier message: 29/03/2006, 10h39
  5. Réponses: 0
    Dernier message: 25/07/2002, 11h20

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