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

C++ Discussion :

Automation Word : CreateDispatch renvoie FALSE


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Par défaut Automation Word : CreateDispatch renvoie FALSE
    Bonjour ! Je cherche à faire de l' automation sur Word depuis c++. Pour info j' ai d' abord suivi ce tutoriel :
    support.microsoft.com/default.aspx?scid=kb;fr;178749
    et tout fonctionne bien.
    Le problème c' est que je ne veux pas faire une application .exe, mais une dll (j' appelle le code c++ depuis java à l' aide de JNI).
    J' ai suivi le tuto suivant pour utiliser JNI : http://www.codeproject.com/java/jnib...select=1532824
    et ça marche aussi. Le plantage vient quand j' essaie de combiner les 2 (extrait de TestDll.h) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    JNIEXPORT void JNICALL Java_Test1_inDll(JNIEnv *env, jobject obj)
    {
        AfxMessageBox("Hello World from dll");
     
    	_Application app;  // app is the Word _Application object
     
              // Start Word and get Application object...
             if(!app.CreateDispatch("Word.Application"))
             {
                AfxMessageBox("Couldn't start Word from dll.");
             }
             else
             {
                //Make Word Visible and display a message
              app.SetVisible(TRUE);
              AfxMessageBox ("Word is Running!");
             }
     
    }
    J' exécute ma classe java, qui appelle la fonction inDll, et la boite "Couldn't start Word from dll." apparaît après le "Hello World from dll" (le CreateDispatch renvoie donc FALSE, ou NULL).
    Je cherche la solution depuis 2 jours et je n' ai pas trouvé
    Quelqu' un peut-il m' aider ?
    Merci.


    PS: j' ai hésité à poster en partie "bibliothèques pour c et c++", je ne savais pas trop... déplacez si nécessaire.

  2. #2
    Membre averti
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Par défaut
    bon après quelques recherches plus poussées, je trouve l' erreur suivante : "CoInitialize n' a pas été appelé" (apparement c' est fait par défaut dans un .exe, pas dans une dll).

    Quand je l' appelle au début de ma fonction, il marche et le code freeze sur l' instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(appObj.CreateDispatch("Word.Application"))
    .

    Et là, obligé de tuer java.exe, même ctrl+c ne marche pas dans la console.

    Je continue à chercher... toute aide sera la bienvenue

Discussions similaires

  1. [Automation Word] Texte en Gras
    Par uskiki85 dans le forum Access
    Réponses: 1
    Dernier message: 07/10/2005, 21h51
  2. [MFC] - Automation Word bug
    Par Alice9 dans le forum MFC
    Réponses: 3
    Dernier message: 25/05/2005, 16h47
  3. [C#] [Automation Word] Récupérer la valeur d'une cellule
    Par Ditch dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/06/2004, 15h57
  4. Automation Word
    Par afan dans le forum MFC
    Réponses: 8
    Dernier message: 12/11/2003, 14h50
  5. [AUTOMATION WORD]Pilotage Word par Delphi
    Par Sunny dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 05/12/2002, 17h09

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