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

MFC Discussion :

Gdiplus, SDK et Visual 6.0


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 72
    Points : 68
    Points
    68
    Par défaut Gdiplus, SDK et Visual 6.0
    Voila mon problème, j'aimerai pouvoir utiliser les library gdiplus sur ma machine sans installer le pack SDK.

    J'ai récuperer une liste de fichiers .h .lib et .dll a placer dans un repertoir précis. Mon programme compile a l'exception de cette ligne :
    le message est le suivant :

    D:\travail\Anael\Final\CalculMasque v0.3\Dlg\.\OpenMaskDlg.h(36) : error C2555: 'COpenMaskDlg:oModal' : overriding virtual function differs from 'CFileDialog:oModal' only by return type or calling convention
    C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE\afxdlgs.h(116) : see declaration of 'CFileDialog'
    j'aimerais savoir ce que je devrais faire pour faire complier mon soft ?

    merci a tous d'avance

  2. #2
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Points : 180
    Points
    180
    Par défaut
    Le type de retour ne semble pas bon dans le CPP ?
    Tu peux poster le code ?

  3. #3
    mat.M
    Invité(e)
    Par défaut
    Voila mon problème, j'aimerai pouvoir utiliser les library gdiplus sur ma machine sans installer le pack SDK.

    Tout cela m'intrigue bcp.

    A ma connaissance le gdiplus ne s'exploite qu'exclusivement avec des fonctions en code "managed" c.a.d. avec la directive __gc
    Le Gdiplus c'est une surcouche développée par M$ qui s'exploite quasiment de manière exclusive avec le framework .NET parce que le GDI de base de gdi32.dll est en win32 et ne supporte pas le code "managed"

    De plus même avec VC7 les MFC à ma connaissance ne gérent pas le "managed code" donc ça risque de pas fonctionner....
    Peut-être qu'en passant par les interfaces COM avec QueryInterface...

    Enfin si tu arrives à faire tourner GDI+ avec MFC .....

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    Citation Envoyé par mat.M
    Enfin si tu arrives à faire tourner GDI+ avec MFC .....
    apparemment c'est possible:
    http://www.codeguru.com/Cpp/G-M/gdi/gdi/article.php/c3705/

  5. #5
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Points : 180
    Points
    180
    Par défaut
    Pas du tout !
    GDI+ Est une API classique C++. Fonctionne parfaitement avec Win32 & MFC, ce n'est qu'un extention du GDI classique.

    Microsoft Windows GDI+ is a class-based application programming interface (API) for C/C++ programmers. It enables applications to use graphics and formatted text on both the video display and the printer. Applications based on the Microsoft Win32 API do not access graphics hardware directly. Instead, GDI+ interacts with device drivers on behalf of applications. GDI+ is also supported by Microsoft Win64.
    Donc ca fonctionnera tres bien ! Le probleme soulevé par genki est du au fait qu'il ne veut pas installer le Platform SDK et copie à la main des DLL et des .LIB pour profiter du GDI+... C'est touchy mais pourquoi pas !

    Bon maintenant dis nous pourquoi tu ne veux pas installer le SDK ?

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 72
    Points : 68
    Points
    68
    Par défaut Alors
    Je ne veu pas installer le SDK car 1 je n'ai pas assez de pace sur mon PC et je peu pas changer de disque ni déinstaller ce que j'ai. Dsl je suis stagiaire lol.

    Alors ce qui pose pb c'est qu'une série de fichiers de visual c++ utilise une version de DoModal renvoyant un int et SDK change tout cela en fesant revoyer un int * (INT_PTR).

    J'ai remarquer qu'il fallait changer un grand nombre de fichier pour que cela marche. N'y aurais t'il pas une version plus courte de SDK pour mon soucis ?

    SDK en minimal prend 100 mega lol enfin ce que je croit etre mini pour le fonctionnement lol

    genki
    je vous remercis tous de votre attention

  7. #7
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Points : 180
    Points
    180
    Par défaut
    Tu peux pas realiser des trucs impossibles, soit tu te passes du Platform SDK (je crois le le GDI simple n'en a pas besoin)

    Soit tu demandes à l'admin de t'installer le SDK.

    Sans quoi tu peux pas t'en sortir.

    Pour travailller tu as besoin d'outils, sans eux ca ne sert a rien de te faire chier.

  8. #8
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    N'y aurais t'il pas une version plus courte de SDK pour mon soucis ?
    Non. Mais une fois installé, tu peux supprimer pas mal de trucs (doc, exemples, ...), ainsi que ton ancien SDK.

  9. #9
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 72
    Points : 68
    Points
    68
    Par défaut Résignation
    Ok bon je vais donc me résigner a votre conseil car cela me broutte suffisament comme ça lol.

    Si une ame illuminée trouve une solution a mon pb quand même je serai ravis d'avoir une solution. Merci

    anaël
    merci a tous

  10. #10
    mat.M
    Invité(e)
    Par défaut
    C'est touchy mais pourquoi pas !
    je crois bien plutôt que cela risque d'être very slowly oui



    Applications based on the Microsoft Win32 API do not access graphics hardware directly. Instead, GDI+ interacts with device drivers on behalf of applications.
    Si tu as 10000 polygones que dis-je 2000 polygones à dessiner ça risque de pédaler....



    Ok bon je vais donc me résigner a votre conseil car cela me broutte suffisament comme ça lol.
    Pourquoi vouloir utiliser GDI+ ?
    Bon ok c'est vrai il ya des avantages indéniables comme par exemple pour charger n'importe quelle bitmap de n'importe quelle format....
    Mais pour du dessin de base avec les MFC il ya largement ce qu'il faut avec le GDI de base.

    GDI+ c'est une couche développée dans l'optique de création de "Webservices" (à la manière des applets Java) où effectivement le dessin est étroitement contrôler pour éviter les débordements...

  11. #11
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 704
    Points
    10 704
    Billets dans le blog
    3
    Par défaut
    GDI+ est antérieur à .Net. Ca rajouter des fonctionnalités qui manquent cruellement au GDI de base : antialiasing, gradient, ...
    C'est réputé plus lent que GDI. J'ai jamais testé la différence. A mon échelle j'ai jamais eu à me plaindre de sa lenteur.

  12. #12
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Points : 180
    Points
    180
    Par défaut
    PS. si tu veux dessiner des polygones, tu as DirectX ou OpenGL. GDI+ c'est plutot pour faire des interfaces graphiques sympa et du tracé de graphiques données.

Discussions similaires

  1. installer directx sdk sous visual c++ express 2008
    Par argon dans le forum DirectX
    Réponses: 1
    Dernier message: 16/10/2009, 08h07
  2. [C#]SDK et visual sudio 2005
    Par cyreel dans le forum Windows Forms
    Réponses: 4
    Dernier message: 21/12/2006, 17h42
  3. Visual C++ . NET + SDK+DirectX 9
    Par angelo2006 dans le forum MFC
    Réponses: 9
    Dernier message: 17/03/2006, 09h46
  4. configurer le sdk directx avec visual c# express 2005
    Par khodi03 dans le forum DirectX
    Réponses: 1
    Dernier message: 22/01/2006, 11h17
  5. Intégration d'un SDK dans Visual Basic
    Par <-NicO-> dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/02/2005, 22h53

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