Publicité
+ Répondre à la discussion Actualité déjà publiée
Affichage des résultats 1 à 18 sur 18
  1. #1
    Membre Expert

    Inscrit en
    novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 30

    Informations forums :
    Inscription : novembre 2007
    Messages : 1 519
    Points : 2 084
    Points
    2 084

    Par défaut Article de test : Présentation des nouveautés de Delphi 2010

    Le 25 Août dernier, Embarcadero a rendu disponible sa nouvelle version de Delphi et RAD Studio.

    Article : Découvrez les nouveautés et les améliorations proposés par Delphi 2010.

    Lire aussi :
    Delphi RAD Studio 2010 sur le site d'embarcadero (en anglais)
    Séminaire technique RAD Studio 2010 le 29 Septembre 2009 à Paris La défense

    N'hésitez pas à laisser vos remarques et questions sur ce topic, ayant bêta-testé le produit j'essayerais de répondre du mieux que je peux.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  2. #2
    Expert Confirmé Sénior Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    10 050
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 10 050
    Points : 14 266
    Points
    14 266

    Par défaut

    Je n'ai pu tester que Delphi 2009, 4 jours, j'espère avoir plus de temps pour tester 2010, cette fois ci, un chef vient au Code Way, et s'y interesse vraiement, c'est cool, je pourrais jouer mon vieux réac qui ne veut pas changer ses habitudes (je pense à la palette)

    J'ai lu ton article, plein de petites choses interressantes qui pour moi le sont bien plus que le 64Bits, parce que chacune répondent à un problème précis qui ont émergé récemment (TIFF, JSON, ...)

    le "delayed", si j'ai bien compris, finalement cela remplace LoadLibray\GetProcAddress ? Si oui, tous ces codes où j'ai du me le taper pour interfacer des DLL, sans rendre l'installation nécessaire de tous les modules et autres matériels ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre Expert

    Inscrit en
    novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 30

    Informations forums :
    Inscription : novembre 2007
    Messages : 1 519
    Points : 2 084
    Points
    2 084

    Par défaut

    La philosophie du mot-clé delayed c'est de bénéficier d'une déclaration d'une méthode exportée tout en supportant le fait qu'elle n'est peut-être pas présente sur le système.

    Le liage est toujours fait automatiquement mais plus au démarrage de l'application, il est fait "juste à temps". Par contre la vérification pour savoir si la méthode exportée existe ou pas est toujours à la charge du développeur et le moyen de le détecter aussi.

    Au passage je tient à préciser que CodeGear à revu le temps de la période d'essai qui est repassé à 30 jours au lieu de 14 comme cela avait été fait pour D2009.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  4. #4
    Expert Confirmé Sénior
    Avatar de Paul TOTH
    Homme Profil pro Paul TOTH
    Freelance
    Inscrit en
    novembre 2002
    Messages
    5 567
    Détails du profil
    Informations personnelles :
    Nom : Homme Paul TOTH
    Âge : 45
    Localisation : Réunion

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

    Informations forums :
    Inscription : novembre 2002
    Messages : 5 567
    Points : 15 897
    Points
    15 897

    Par défaut

    Citation Envoyé par Aka Guymelef Voir le message
    La philosophie du mot-clé delayed c'est de bénéficier d'une déclaration d'une méthode exportée tout en supportant le fait qu'elle n'est peut-être pas présente sur le système.

    Le liage est toujours fait automatiquement mais plus au démarrage de l'application, il est fait "juste à temps". Par contre la vérification pour savoir si la méthode exportée existe ou pas est toujours à la charge du développeur et le moyen de le détecter aussi.

    Au passage je tient à préciser que CodeGear à revu le temps de la période d'essai qui est repassé à 30 jours au lieu de 14 comme cela avait été fait pour D2009.
    est-ce que l'appel à une méthode delayed dont la DLL n'est pas présente lève une exception ?

    exemple :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    begin
      try
        DD := DirectDrawCreate();
      except
        on e: EDelayedException do
         ShowMessage('DirectX not installed (or DDRAW.DLL not found)');
      end;
    end;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Produits : UPnP, RemoteOffice, FlashPascal
    Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%

  5. #5
    Rédacteur/Modérateur
    Avatar de evarisnea
    Homme Profil pro Evaris NGOUZO
    Ingénieur intégration
    Inscrit en
    juin 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Nom : Homme Evaris NGOUZO
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : juin 2005
    Messages : 1 958
    Points : 3 618
    Points
    3 618

    Par défaut

    Citation Envoyé par ShaiLeTroll Voir le message
    Je n'ai pu tester que Delphi 2009, 4 jours, j'espère avoir plus de temps pour tester 2010, cette fois ci, un chef vient au Code Way, et s'y interesse vraiement, c'est cool, je pourrais jouer mon vieux réac qui ne veut pas changer ses habitudes (je pense à la palette)
    si ce n'est que ça, la palette est revenue, et tu as en plus dessus une zone de texte pour rechercher des composants plus facilement

  6. #6
    Membre Expert

    Inscrit en
    novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 30

    Informations forums :
    Inscription : novembre 2007
    Messages : 1 519
    Points : 2 084
    Points
    2 084

    Par défaut

    Citation Envoyé par Paul TOTH Voir le message
    est-ce que l'appel à une méthode delayed dont la DLL n'est pas présente lève une exception ?
    Bonne question à laquelle je ne connais pas la réponse et que je ne peux pas tester car ma version bêta à expirée pour le moment
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  7. #7
    Expert Confirmé Sénior
    Avatar de Paul TOTH
    Homme Profil pro Paul TOTH
    Freelance
    Inscrit en
    novembre 2002
    Messages
    5 567
    Détails du profil
    Informations personnelles :
    Nom : Homme Paul TOTH
    Âge : 45
    Localisation : Réunion

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

    Informations forums :
    Inscription : novembre 2002
    Messages : 5 567
    Points : 15 897
    Points
    15 897

    Par défaut

    Citation Envoyé par Aka Guymelef Voir le message
    Bonne question à laquelle je ne connais pas la réponse et que je ne peux pas tester car ma version bêta à expirée pour le moment
    je confirme

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    procedure test; external 'test.dll' delayed;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      try
        test;
      except
        on e: EExternalException do
          ShowMessage('test.dll non trouvé');
      end;
    end;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Produits : UPnP, RemoteOffice, FlashPascal
    Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%

  8. #8
    Membre Expert

    Inscrit en
    novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 30

    Informations forums :
    Inscription : novembre 2007
    Messages : 1 519
    Points : 2 084
    Points
    2 084

    Par défaut

    Merci pour la précision.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  9. #9
    Membre chevronné Avatar de Kaféine
    Homme Profil pro Akim Merabet
    Inscrit en
    avril 2007
    Messages
    570
    Détails du profil
    Informations personnelles :
    Nom : Homme Akim Merabet
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 570
    Points : 727
    Points
    727

    Par défaut

    Citation Envoyé par Article
    Transtyper une interface vers sa classe d'implémentation
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    type
      IMonInteface = interface
        procedure Toto;
      end;
     
      TMaClasse = class(TInterfacedObject, IMonInteface)
        procedure Toto;
        procedure Titi;
      end;
     
    procedure FaisQuelqueChose(AMonInterface: IMonInteface);
    begin
      if AMonInterface is TMaClasse then
        TMaClasse(AMonInterface).Titi;
    end;
    Trop cool, et ENFIN !! pas trop tôt..... :\
    Akim Merabet

  10. #10
    Expert Confirmé Sénior
    Avatar de Paul TOTH
    Homme Profil pro Paul TOTH
    Freelance
    Inscrit en
    novembre 2002
    Messages
    5 567
    Détails du profil
    Informations personnelles :
    Nom : Homme Paul TOTH
    Âge : 45
    Localisation : Réunion

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

    Informations forums :
    Inscription : novembre 2002
    Messages : 5 567
    Points : 15 897
    Points
    15 897

    Par défaut

    Citation Envoyé par Kaféine Voir le message
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    type
      IMonInteface = interface
        procedure Toto;
      end;
     
      TMaClasse = class(TInterfacedObject, IMonInteface)
        procedure Toto;
        procedure Titi;
      end;
     
    procedure FaisQuelqueChose(AMonInterface: IMonInteface);
    begin
      if AMonInterface is TMaClasse then
        TMaClasse(AMonInterface).Titi;
    end;
    Trop cool, et ENFIN !! pas trop tôt..... :\
    hum...je demande à voir le code qui est derrière, car une interface n'est pas supposée retourner un objet Delphi ... sans doute un QueryInterface

    Code :
    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
    33
    34
    35
    36
    37
    38
    39
    40
     
    type
      IMonInteface = interface
        procedure Toto;
      end;
     
      IDelphiObject = interface
      ['{F9FB3BA7-E1F0-49FD-9E81-689F7B36F636}']
        function GetInstance: TObject;
      end;
     
      TMaClasse = class(TInterfacedObject, IMonInteface, IDelphiObject)
        procedure Toto;
        procedure Titi;
        function GetInstance: TObject;
      end;
     
    procedure TMaClasse.Toto;
    begin
    end;
     
    procedure TMaClasse.Titi;
    begin
      ShowMessage('Titi');
    end;
     
    function TMaClasse.GetInstance: TObject;
    begin
      Result := Self;
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    var
      AMonInterface : IMonInteface;
      IObject: IDelphiObject;
    begin
      AMonInterface := TMaClasse.Create;
      if AMonInterface.QueryInterface(IDelphiObject, IObject) = 0 then
        TMaClasse(IObject.GetInstance).Titi;
    end;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Produits : UPnP, RemoteOffice, FlashPascal
    Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%

  11. #11
    Expert Confirmé Sénior Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    10 050
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 10 050
    Points : 14 266
    Points
    14 266

    Par défaut

    Oui, j'ai vu cela aussi, bcp de sujet sur les interfaces auraient été résolu par cela, par contre, on récupère vraiement l'instance de l'objet d'origine ?

    Cela permettrait d'éviter d'ouvrir certaines fonction que l'on a besoin lorsque l'on manipule une interface à un autre programme et que ce dernier nous l'a renvoie comme paramètre d'une méthode d'une autre interface ...

    Code :
    1
    2
    3
    4
    5
    ObjetA := TClassA.Create();
    InterfaceA := ObjetA;
    if InterfaceA is TClassA
      if ObjetA = TClassA(InterfaceA) then
        Yahoo !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  12. #12
    Membre Expert

    Inscrit en
    novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 30

    Informations forums :
    Inscription : novembre 2007
    Messages : 1 519
    Points : 2 084
    Points
    2 084

    Par défaut

    Il y a effectivement une astuce avec le QueryInterface, tout les secrets sont expliqués ici.

    Mais comme Delphi n'est toujours pas fonctionnel je ne peux pas tester si cela retourne bien l'instance d'origine ou bien une autre créée à partir de la classe.

    PS : le GUID en question est le suivant ObjCastGUID: TGUID = '{CEDF24DE-80A4-447D-8C75-EB871DC121FD}';
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  13. #13
    Fxg
    Fxg est déconnecté
    Membre expérimenté
    Profil pro
    Inscrit en
    septembre 2003
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : septembre 2003
    Messages : 446
    Points : 557
    Points
    557

    Par défaut

    Bonjour

    je suis en train de voir Delphi 2010 et j'ai juste une petite question par rapport à mon bon vieux d7 :

    - mon application a besoin du composant twainy pour fonctionner que sous D7 j'installais simplement en faisant Composant/Installer un composant

    Par contre sous D2010 je n'ai plus installer un composant...

    C'est la même chose qu'indiqué dans la FAQ sur le bug dans le menu composant (pas de résultat) ?

  14. #14
    Fxg
    Fxg est déconnecté
    Membre expérimenté
    Profil pro
    Inscrit en
    septembre 2003
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : septembre 2003
    Messages : 446
    Points : 557
    Points
    557

    Par défaut

    Quand il fait trop chaud les neurones ne fonctionnent plus...

    Les composants s'importent bien quand on suit la bonne méthode.

  15. #15
    Membre éprouvé

    Homme Profil pro Michaël Duval
    Chef de Projet ATIC
    Inscrit en
    novembre 2005
    Messages
    274
    Détails du profil
    Informations personnelles :
    Nom : Homme Michaël Duval
    Âge : 39
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Chef de Projet ATIC
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2005
    Messages : 274
    Points : 477
    Points
    477

    Par défaut

    Citation Envoyé par Eric GASPARD
    Jusqu'à présent, le formatage de code a toujours été assuré par un plugin externe. Aujourd'hui c'est terminé, l'EDI se dote enfin d'un formateur de code en standard, complètement personnalisable. Un petit coup de CTRL+ALT+F et votre code est formaté.
    Faut penser à retirer Jedi Code Format Par défaut, la combinaison de touche dans D2010 (Pro FR) est Ctrl+D, accessible aussi via un clic droit sur le code source.

    Citation Envoyé par Eric GASPARD
    Bien sûr on pourrait s'interroger sur l'intérêt d'un clavier virtuel dans une application. Déployé sur un PC normal aucun
    Peut être pas si inutile que ça. Je pense par exemple aux applications sensibles, au moment de la saisie du mot de passe et permettant ainsi d'éviter les Keylogger. On retrouve cette méthode de plus en plus fréquemment, surtout sur le web.

  16. #16
    Expert Confirmé

    Profil pro Franck Soriano
    Leader Technique
    Inscrit en
    juin 2005
    Messages
    1 757
    Détails du profil
    Informations personnelles :
    Nom : Franck Soriano
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : juin 2005
    Messages : 1 757
    Points : 3 942
    Points
    3 942

    Par défaut

    Citation Envoyé par Okaryn Voir le message
    Peut être pas si inutile que ça. Je pense par exemple aux applications sensibles, au moment de la saisie du mot de passe et permettant ainsi d'éviter les Keylogger.
    Je ne suis pas sûr que ce soit une bonne idée pour cet usage.
    Les claviers virtuels pour éviter les keylogger changent la disposition des touches à chaque affichage pour éviter qu'un keylogger ne s'adapte.

    Alors un composant standard qui affiche toujours le même clavier virtuel, ça risque surtout de donner un virtual keylogger générique... En plus, si tu passes par ce clavier virtuel chaque fois que tu dois faire une saisie sensible, tu vas dire au keylogger : "Attention, c'est maintenant que je vais saisir des infos intéressantes à logger...".

  17. #17
    Candidat au titre de Membre du Club
    Profil pro
    Inscrit en
    juillet 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : juillet 2008
    Messages : 25
    Points : 11
    Points
    11

    Par défaut [D2010][installation] message mémoire insuffisante

    Bonjour, j'ai installé la version d'évaluation de D2010 Architect [WINDOWS XP Professionnel SP3]. Pendant 10 jours, je n'ai rencontré aucun problème. Depuis 3 jours, en lançant le programme, j'ai le message:
    mémoire insuffisante
    puis un autre message disant qu'il n'y a pas de place pour installer la pile.
    J'ai tout vérifié, les tests de diagnostic sont corrects, aussi bien en ce qui concerne la RAM que le DD et le fichier d'échange utilisé à 20%.
    Ce matin, après avoir nettoyé et compacté la base de registre, D2010 a réussi à se charger. Je l'ai aussitôt fermé et relancé : même problème. Quelqu'un aurait il une idée ?

  18. #18
    Membre Expert
    Avatar de Thierry Laborde
    Homme Profil pro Thierry LABORDE
    Directeur Embarcadero France
    Inscrit en
    avril 2002
    Messages
    1 121
    Détails du profil
    Informations personnelles :
    Nom : Homme Thierry LABORDE
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur Embarcadero France

    Informations forums :
    Inscription : avril 2002
    Messages : 1 121
    Points : 1 744
    Points
    1 744

    Par défaut

    Bonjour,

    Quelle est la config exacte du poste ou est installé delphi ?

    Taille disque dur, espace dispo, RAM....etc.
    Thierry Laborde
    Directeur Embarcadero France et Delphi addict

    Blog : http://www.delphi-addict.com
    _____________________________________________
    Un logiciel permet de remplir certaines taches. Mais la plupart du temps il est également destiné à des utilisateurs. Alors n'oubliez jamais l'Ergonomie

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •