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 :

Boite dialogue ouverture fichier (ActiveX) s'affiche pas sous XP


Sujet :

MFC

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut Boite dialogue ouverture fichier (ActiveX) s'affiche pas sous XP
    Bonjour,

    J'ai développé une petite application sous W2000 et VC++ qui utilise une boite de dialogue d'ouverture de fichier (CcommonDialog1).

    Une fois transféré mon exécutable sous XP, cette boite de dialogue ne s'affiche pas à la command "Ouvrir".

    Problème ocx ou autre ??

  2. #2
    mat.M
    Invité(e)
    Par défaut
    C'est en rien un problème d'OCX puisque c'est une boite de dialogue système.
    Est-ce que c'est avec MFC ?
    Dans ce cas-là appeler DoModal()

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut
    Je fais bien appel à un ActiveX puisque la classe CCommonDialog1 est une classe du contrôle ComDlg32 dont le fichier associé est ComDlg32.ocx

    J'ai enregistré sur mon PC XP l'activeX en question par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    regsrv32 C:\Winnt\System32\ComDlg32.ocx
    mais cela n'a rien changé.
    ( Les fichiers sont bien présents).

    Est-ce un problème de version de fichier ocx ? Entre W2K et XP ?

  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
    salut, pourquoi tu t'embetes avec un ocx alors que la classe CFileDialog fait le boulôt ?
    http://c.developpez.com/faq/vc/?page...DialogHowToUse
    si la boite ne s'affiche pas sur un autre pc ,c'est que l'activex en question n'est pas enregistré sur ce pc...

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut
    Je veux bien croire que je m'embête pour rien, mais j'aimerai comrpendre !
    (Tétu la bête).

    Le fichier comdlg32.ocx et dll sont bien présents dans le répertoire C\Windows\System32.

    Comme je l'ai dit j'ai fait un regsrv32 C:\windows\system32\comdlg32.ocx pour enrgistrer l'ocx en question.

    Est-ce la passage W2K -> XP qui fait que ... ?

  6. #6
    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 lio33
    Je veux bien croire que je m'embête pour rien, mais j'aimerai comrpendre !
    (Tétu la bête).

    Le fichier comdlg32.ocx et dll sont bien présents dans le répertoire C\Windows\System32.

    Comme je l'ai dit j'ai fait un regsrv32 C:\windows\system32\comdlg32.ocx pour enrgistrer l'ocx en question.
    et pourtant ..., tu as eu le message comme quoi c'était enregistré ?
    le fait que la fenêtre ne s'affiche pas est le symptome classique de l'activex non enregistré...

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut
    Oui aprés la commande j'ai bien le message comme quoi l'enregistrement est réussi.
    J'ai redémarré XP par sécurité.

    Je viens d'essayer sur un autre PC sous XP, là ça fonctionne. (mêmes version des ocx et dll que sur le protable ou cela ne fonctionne pas).

    Je ne vois pas ce qui me manque.
    Dois-je faire une manip particulière pour porter mon exe sous XP ??

  8. #8
    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
    non, mais peut être que les Dll MFC ne sont pas à jour sur cette machine...


  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut
    En fait j'ai des comportements trés différents selon les machines XP.

    Sur certaines l'appli ne se lance même pas.
    Sur une autre la commande regsrv32.exe n'est pas reconnue dans la ligne de commande, etc...

    J'ai copié les DLL MFC, MFC40.DLL, MFC2.DLL, etc.. dans le Windows\System32, mais cela ne change rien.

    Je vais peut-être tenter d'installer VC++6 et voir si cela résoud le pb ?

  10. #10
    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

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut
    Cela ne change rien.
    J'installe VC++ sur mon portable XP pour voir.

    Une fois VC++ installé, mon application fonctionne, même sans avoir à la recompiler.

    Il s'agit donc bien de liens manquants en quelque part, mais ou ??
    J'aimerai bien comprendre ce qui me manque.

  12. #12
    mat.M
    Invité(e)
    Par défaut
    ? Pourquoi tu tiens absolument à utiliser un ocx destiné à VB6 et dont on ne controle pas toutes les propriétés ?
    Alors que comme le suggère Farscape il y a tout dans CFileDialog ?
    Toujours se compliquer la vie j'arrive pas à comprendre cela ?

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut
    Salut,

    je tiens pas à me compliquer, déjà qu'avec C++ et MFC c'est galère par rapport à du Borland C++ ou Delphi...

    J'aime bien comprendre quand quelque chose ne marche pas c'est tout.

    Merci en attendant pour votre aide.

  14. #14
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 568
    Points
    41 568
    Par défaut
    Pour moi, l'OCX est plus compliqué que la version Win32 normale...
    Si tu veux une FileDialog, utilise directement les fonctions de l'API Win32, comme GetOpenFileName()/GetSaveFileName() ou les autres Common Dialogs...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  15. #15
    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 Médinoc
    Pour moi, l'OCX est plus compliqué que la version Win32 normale...
    Si tu veux une FileDialog, utilise directement les fonctions de l'API Win32, comme GetOpenFileName()/GetSaveFileName() ou les autres Common Dialogs...
    je le redis encore si on utilise les MFC, la classe CFileDialog fait tout ! pourquoi s'embêter avec l'api 32...

  16. #16
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 568
    Points
    41 568
    Par défaut
    Parce que j'ai mal lu le post précédent et j'ai cru que lio33 "ne voulait pas se compliquer avec les MFC"
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

Discussions similaires

  1. [PHP 5.3] Parametrer Boite Dialogue Ouverture Fichier
    Par Claude30120 dans le forum Langage
    Réponses: 3
    Dernier message: 14/12/2014, 22h39
  2. Réponses: 0
    Dernier message: 27/06/2013, 14h21
  3. [AC-2007] Boîte de dialogue ouverture Fichier
    Par dvince94 dans le forum IHM
    Réponses: 1
    Dernier message: 23/04/2009, 14h06
  4. Ouverture fichier excel ne marche pas
    Par Breizh22p dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 25/01/2008, 22h53
  5. Mon fichier ne s'affiche pas...
    Par natanyanka dans le forum Access
    Réponses: 10
    Dernier message: 21/03/2006, 16h24

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