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

EDI Delphi Discussion :

Avenir des applications VCL.NET


Sujet :

EDI Delphi

  1. #1
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut Avenir des applications VCL.NET
    Qui utilise ce type d'appli ?
    Est-ce toujours disponible dans les dernières versions de delphi ?

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 621
    Points : 25 321
    Points
    25 321

  3. #3
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    C'est malheureusement ce que je viens de voir ...
    Comme c'était aussi simple que ca de migrer son code en vcl win32

    Entre ca et ECO qui ne suit plus non plus ... que des bonnes nouvelles

  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 : 55
    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 457
    Points
    28 457
    Par défaut
    Citation Envoyé par RamDevTeam Voir le message
    C'est malheureusement ce que je viens de voir ...
    Comme c'était aussi simple que ca de migrer son code en vcl win32

    Entre ca et ECO qui ne suit plus non plus ... que des bonnes nouvelles
    en même temps je ne comprend pas bien l'intérêt de faire du .Net avec Delphi...la VCL n'a pas besoin de .Net et .Net n'a pas besoin de la VCL...enfin c'est mon avis que je partage avec moi même

  5. #5
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    VCL.NET permettait de continuer à développer comme en version win32, tout en bénéficiant des fonctionnalités .net
    L'idée était prometteuse.

    Quand BDS2005 est sortie, une des grandes nouveautés à mon sens étaient la possibilité d'utiliser un framework O/R.
    2 possibilités pour cela :
    - VCL.NET
    - Delphi.Net
    Quand on a des composants tiers uniquement dispo pour la VCL on n'a pas tellement le choix. il faut s'orienter vers VCL.NET

    Le gros problème =>
    ECO II apparaît en D2005, est amélioré avec BDS2006 (ECO III) ,puis est supporté avec RAD Studio 2007( ECO IV) (mais la licence n'est plus incluse à cause de la séparation vers CapableObject) puis tout s'arrête.

    C'est la première fois depuis que j'utilise delphi que la migration vers une version plus récente entraine autant de travail de réécriture ...

    La seule solution pour actualiser une application VCL.NET + ECO ... c'est refaire TOUT les accès aux données pour repartir vers une gestion type Dbexpress.

    un exemple simplifié.
    Pour connaitre l'adresse de livraison d'un client pour un commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure DisplayAdresseLivraison( oCommande : CommandeClient);
    var 
     oadr : adresse;
    [..]
     oadr := maCommande.Client.AdresseLivraison;
     Memo_Adresse.lines.add( oadr.NatureEtVoie);
    Memo_Adresse.lines.add( oadr.CodePostal + ' ' + oadr.Ville);
    [..]

    la même chose sans ECO =>

    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
    procedure DisplayAdresseLivraison( idCommande : integer);
    begin
        MyQuery.sql.add('SELECT ADRESSE.* FROM commande inner join client on (client.idclient = commande.idClient)  ');
    MyQuery.sql.add('inner join adresse on (client.AdresseLivraison = Adresse.IdAdresse) ');
    MyQuery.sql.add('WHERE Commande.idCommande = ' + inttostr(idCommande) ); 
     
      MyQuery.open
     
      if not MyQuery.eof then
      begin
        Memo_Adresse.lines.add( MyQuery.fieldbyname('NatureEtVoie').asstring);
        Memo_Adresse.lines.add(  MyQuery.fieldbyname('CodePostal().asstring + ' ' + MyQuery.fieldbyname('Ville').asstring);
      end;
     
    end;

    Je ne parle même pas du pilotage office via les assemblys .net qu'il faut également refaire.

  6. #6
    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 : 55
    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 457
    Points
    28 457
    Par défaut
    je ne connais pas ECO (uniquement Umberto) mais il est possible de créer les classes nécessaire à la compilation du premier code au lieu de tout réécrire.

    alors j'imagine que ECO permet de maintenir ces classes en fonction des modifications de la BDD ...sinon à quoi sert-il ?...mais si tu estimes que cette approche est la meilleur, il est possible de le faire en pur Pascal, ce qui m'a toujours semblé être la meilleur solution. Car du pur Pascal se compile aussi bien sous W32 que sous .Net (et autre avec FreePascal)

  7. #7
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    Effectivement avoir des classes à l'identique du modèle ECO n'est pas très compliqué à faire pour ce qui concerne les propriétés et une partie de la génération du code peut être automatisé à partir des metadata de la base de données. je vais fouillé dans mes archives, j'avais fais un petit dév la dessus.

    Par contre les associations sont complétement à recoder puisque les associations déclenchait de manière transparent des requêtes sur d'autre table

    Les requêtes OCL sont à transformer en requête SQL.

    Les héritages de classes sont également à réadapter.

    C'est loin d'être impossible, mais il y a énormément de boulot.

  8. #8
    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 : 55
    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 457
    Points
    28 457
    Par défaut
    moi j'aimerai bien pouvoir déclarer mes bdd en Pascal
    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
     
    database
      abonnes = table
        id          : index;
        name        : string[25];
        password    : string[16];
        create_date : TDateTime;
        last_login  : TDateTime;
      end;
     
      article = table
        id          : index;
        owner       : ^abonnes.id;
        title       : string[30];
        create_date : TDateTime;
        description : TMemo;
        price       : Currency;
      end;

  9. #9
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    C'était pas Bold sous D7 qui permettait de la faire par hasard

Discussions similaires

  1. Réponses: 13
    Dernier message: 29/09/2010, 10h59
  2. Réponses: 14
    Dernier message: 26/10/2009, 22h14
  3. Réponses: 0
    Dernier message: 30/06/2009, 16h19
  4. Solution des Mises à jour des applications Web .NET
    Par silset dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 13/03/2009, 17h58

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