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 :

[D2010] Erreur "E2154 Le type %s nécessite une finalisation - non autorisé .."


Sujet :

Langage Delphi

  1. #1
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 670
    Détails du profil
    Informations personnelles :
    Âge : 44
    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 670
    Points : 7 040
    Points
    7 040
    Par défaut [D2010] Erreur "E2154 Le type %s nécessite une finalisation - non autorisé .."
    Je vient de récupérer un projet qui utilise GDI+ (je n'ai jamais utilisé).
    Quand je compile, j'obtiens une erreur dans DirectDraw :
    E2154 Le type 'IDirectDrawSurface' nécessite une finalisation - non autorisé dans l'enregistrement variant
    Pourtant, ce projet (avec la bibliothèque GDI+) compile sans problèmes sur le poste du collègue.

    Que veut dire cette erreur ?


    J'ai bien trouvé ce lien (http://docwiki.embarcadero.com/RADStudio/fr/E2154:_Le_type_'%25s'_n%C3%A9cessite_une_finalisation_-_non_autoris%C3%A9_dans_enregistrement_variant_(Delphi)), mais je n'y comprend rien, et je ne me vois pas modifier une blibliothèque.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 577
    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 577
    Points : 25 225
    Points
    25 225
    Par défaut
    Un message étrange de compilation en C++Builder de ce genre j'aurai pensé à un défaut dans l'ordre des fichiers d'inclusion (mon collègue a justement eu le soucis que le MetaFile de GDI+, hier, le monde est petit)

    En XE2, IDirectDrawSurface est déclaré dans WinApi.DirectDraw et effectivement WinApi.GDIPAPI l'utilise comme paramètre de fonction pas dans une structure

    Est-ce que ton code utilise une variable IDirectDrawSurface ?
    Est-ce que le code de vos deux postes est identiques (un uses différent quelque part ?)

  3. #3
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 670
    Détails du profil
    Informations personnelles :
    Âge : 44
    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 670
    Points : 7 040
    Points
    7 040
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    En XE2, IDirectDrawSurface est déclaré dans WinApi.DirectDraw et effectivement WinApi.GDIPAPI l'utilise comme paramètre de fonction pas dans une structure
    Là, je suis en D2010. Mais, c'est une info intéressante, car avec GDI+, il y a un DirectDraw.pas (à l'origine, c'était un projet Delphi 6).
    Je l'ai renommé pour que Delphi ne le voit plus, et je n'ai plus cette erreur (mais une autre).
    Je creuse ...

  4. #4
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 670
    Détails du profil
    Informations personnelles :
    Âge : 44
    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 670
    Points : 7 040
    Points
    7 040
    Par défaut
    C'était bien ça.
    Ca ne devait pas exister en Delphi 6, mais maintenant en D2010, c'est inutile (et génant, apparement).
    Ce que je ne comprend pas, c'est pourquoi ça ne pose pas de problème sur le poste du collègue.

    pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Warning / L'expression du type Vector[] requiert une conversion non contrôlée
    Par chris_wafer dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 17/06/2008, 09h30
  2. Type DWord dans une classe non managé
    Par julioMEL dans le forum C++/CLI
    Réponses: 1
    Dernier message: 26/04/2007, 20h08
  3. [PHP MySQL] Erreur execution requête de type INSERT
    Par Pfeffer dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/01/2006, 17h38
  4. Erreur de conflit de type
    Par Jhulk dans le forum C
    Réponses: 15
    Dernier message: 16/01/2006, 15h47
  5. Erreur de conversion de type Null en String
    Par navis84 dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/07/2005, 15h25

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