Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Delphi
Delphi Environnement de développement RAD avec compilateur Natif. Avant de poster -> La FAQ Delphi
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 02/09/2009, 21h32   #1
Aka Guymelef
Membre Expert
 
Inscription : novembre 2007
Messages : 1 519
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2007
Messages : 1 519
Points : 1 919
Points : 1 919
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 -
Aka Guymelef est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/09/2009, 12h08   #2
ShaiLeTroll
Expert Confirmé Sénior
 
Avatar de ShaiLeTroll
 
Homme
Développeur C++\Delphi
Inscription : juillet 2006
Messages : 9 202
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France

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

Informations forums :
Inscription : juillet 2006
Messages : 9 202
Points : 13 258
Points : 13 258
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

Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié !
ShaiLeTroll est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2009, 13h22   #3
Aka Guymelef
Membre Expert
 
Inscription : novembre 2007
Messages : 1 519
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2007
Messages : 1 519
Points : 1 919
Points : 1 919
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 -
Aka Guymelef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2009, 14h24   #4
Paul TOTH
Expert Confirmé Sénior
 
Avatar de Paul TOTH
 
Homme Paul TOTH
Freelance
Inscription : novembre 2002
Messages : 4 433
Détails du profil
Informations personnelles :
Nom : Homme Paul TOTH
Âge : 43
Localisation : Réunion

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

Informations forums :
Inscription : novembre 2002
Messages : 4 433
Points : 10 861
Points : 10 861
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%
Paul TOTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2009, 16h28   #5
evarisnea
Rédacteur/Modérateur
 
Avatar de evarisnea
 
Homme Evaris NGOUZO
Ingénieur intégration
Inscription : 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 692
Points : 3 692
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
evarisnea est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2009, 18h46   #6
Aka Guymelef
Membre Expert
 
Inscription : novembre 2007
Messages : 1 519
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2007
Messages : 1 519
Points : 1 919
Points : 1 919
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 -
Aka Guymelef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2009, 11h38   #7
Paul TOTH
Expert Confirmé Sénior
 
Avatar de Paul TOTH
 
Homme Paul TOTH
Freelance
Inscription : novembre 2002
Messages : 4 433
Détails du profil
Informations personnelles :
Nom : Homme Paul TOTH
Âge : 43
Localisation : Réunion

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

Informations forums :
Inscription : novembre 2002
Messages : 4 433
Points : 10 861
Points : 10 861
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%
Paul TOTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2009, 11h50   #8
Aka Guymelef
Membre Expert
 
Inscription : novembre 2007
Messages : 1 519
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2007
Messages : 1 519
Points : 1 919
Points : 1 919
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 -
Aka Guymelef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2009, 16h10   #9
Kaféine
Membre chevronné
 
Avatar de Kaféine
 
Homme Akim Merabet
Inscription : avril 2007
Messages : 569
Détails du profil
Informations personnelles :
Nom : Homme Akim Merabet
Localisation : France

Informations forums :
Inscription : avril 2007
Messages : 569
Points : 695
Points : 695
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
Kaféine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2009, 17h01   #10
Paul TOTH
Expert Confirmé Sénior
 
Avatar de Paul TOTH
 
Homme Paul TOTH
Freelance
Inscription : novembre 2002
Messages : 4 433
Détails du profil
Informations personnelles :
Nom : Homme Paul TOTH
Âge : 43
Localisation : Réunion

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

Informations forums :
Inscription : novembre 2002
Messages : 4 433
Points : 10 861
Points : 10 861
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%
Paul TOTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2009, 17h06   #11
ShaiLeTroll
Expert Confirmé Sénior
 
Avatar de ShaiLeTroll
 
Homme
Développeur C++\Delphi
Inscription : juillet 2006
Messages : 9 202
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France

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

Informations forums :
Inscription : juillet 2006
Messages : 9 202
Points : 13 258
Points : 13 258
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

Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié !
ShaiLeTroll est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2009, 19h07   #12
Aka Guymelef
Membre Expert
 
Inscription : novembre 2007
Messages : 1 519
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2007
Messages : 1 519
Points : 1 919
Points : 1 919
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 -
Aka Guymelef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2009, 09h00   #13
Fxg
Membre éprouvé
 
Inscription : septembre 2003
Messages : 400
Détails du profil
Informations personnelles :
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : septembre 2003
Messages : 400
Points : 430
Points : 430
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) ?
Fxg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2009, 18h21   #14
Fxg
Membre éprouvé
 
Inscription : septembre 2003
Messages : 400
Détails du profil
Informations personnelles :
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : septembre 2003
Messages : 400
Points : 430
Points : 430
Quand il fait trop chaud les neurones ne fonctionnent plus...

Les composants s'importent bien quand on suit la bonne méthode.
Fxg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2009, 11h35   #15
Okaryn
Membre éclairé
 
Homme Michaël Duval
Chef de Projet ATIC
Inscription : novembre 2005
Messages : 272
Détails du profil
Informations personnelles :
Nom : Homme Michaël Duval
Âge : 38
Localisation : France, Eure (Haute Normandie)

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

Informations forums :
Inscription : novembre 2005
Messages : 272
Points : 349
Points : 349
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.
Okaryn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2009, 20h37   #16
Franck SORIANO
Expert Confirmé
 
Franck Soriano
Leader Technique
Inscription : juin 2005
Messages : 1 758
Détails du profil
Informations personnelles :
Nom : Franck Soriano
Âge : 35
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 758
Points : 3 986
Points : 3 986
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...".
Franck SORIANO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2010, 01h35   #17
cataclysme
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 23
Détails du profil
Informations personnelles :
Âge : 65
Localisation : France

Informations forums :
Inscription : juillet 2008
Messages : 23
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:
Citation:
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 ?
cataclysme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2010, 09h43   #18
Thierry Laborde
Membre Expert
 
Avatar de Thierry Laborde
 
Inscription : avril 2002
Messages : 1 089
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2002
Messages : 1 089
Points : 1 310
Points : 1 310
Bonjour,

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

Taille disque dur, espace dispo, RAM....etc.
__________________
Thierry Laborde

ArrowEcs
Responsable Technique Embarcadero

Blog : http://blogs.embarcadero.com/tlaborde
_____________________________________________
Un logiciel permet de remplir certaines taches. Mais la plupart du temps il est également destiné à des utilisateurs. Alors n'oubliez jamais l'Ergonomie
Thierry Laborde est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h04.


 
 
 
 
Partenaires

Hébergement Web