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++Builder Discussion :

Utilisation d'un Variant pour piloter une appli


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 20
    Points : 22
    Points
    22
    Par défaut Utilisation d'un Variant pour piloter une appli
    Bonjour,

    J'utilise l'EDI C++ Builder 10.2.
    Je souhaite mettre oeuvre un Variant pour piloter un logiciel et utiliser les méthodes telles que OleFunction pour piloter ce logiciel.
    J'aimerais dans un premier temps faire des essais simples avec l'interface Console avec comme point d'entrée int _tmain(int argc, _TCHAR* argv[]).
    Quelle est l'entête ? : #include <utilcls.h> ne marche pas. Avec #include <System.hpp>, le message suivant apparait :
    [ilink32 Erreur] Error: '__fastcall System::Internal::Varhlpr::VariantClear(System::Variant&)' externe non résolu, référencé depuis C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\19.0\LIB\WIN32\DEBUG\VCLE.LIB|variant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #pragma hdrstop
    #pragma argsused
     
    #include <stdio.h>
    #include <System.hpp>
     
    int _tmain(int argc, _TCHAR* argv[])
    {
    Variant V;
    	return 0;
    }
    Merci pour votre aide.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur multiplateformes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 273
    Points : 628
    Points
    628
    Par défaut
    Bonjour xchoeur,

    Normalement avec sysvari.h cela devrait fonctionner.
    Voir la doc pour plus d'infos (F1).

    Yves

  3. #3
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    ton projet de type console doit inclure la bibliothèque de composant VIsuel

    Nom : ProjetConsole.png
Affichages : 159
Taille : 9,6 Ko

    voici le code généré par l'expert auquel j'ai ajouté une Variable de Type Variant
    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
    #include <vcl.h>
    #include <windows.h>
     
    #pragma hdrstop
    #pragma argsused
     
    #include <tchar.h>
     
    #include <stdio.h>
     
    int _tmain(int argc, _TCHAR* argv[])
    {
        Variant V;
    	return 0;
    }
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  4. #4
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    hello.
    un petit exemple …

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
    #include <vcl.h>
    #include <windows.h>
     
    #pragma hdrstop
    #pragma argsused
     
    #include <tchar.h>
     
    #include <stdio.h>
     
    int _tmain(int argc, _TCHAR* argv[])
    {
        CoInitialize(NULL);  // initialation de la librairie COM DE MS
        Variant V;
        V=  Variant::CreateObject("Word.Application");
         V.OlePropertySet("Visible",TRUE); // On demande à WOrd de s'afficher
         Sleep(5000); // affichage pendant 5 secondes
        /*
            ton code ici
     
     
        et finalement
        */
        V.OlePropertySet("Visible",FALSE); // On demande à Word de se cacher
        V.OleProcedure("Quit"); // Fermeture de Word Sans sauvegarde
     
        CoUninitialize();   // Libération de la librairie COM
    	return 0;
    }
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 20
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    Merci pour tous ces éléments et la rapidité de réponse. Effectivement le problème venait du fait que je démarrais une nouvelle application console sans inclure la VCL dans l'expert "Nouvelle application console"

    Nom : Capture.JPG
Affichages : 163
Taille : 26,9 Ko

    Pour ma culture : pourquoi après avoir créé une nouvelle application console sans VCL (photo ci-dessus), puis en rajoutant dans le programme #include <VCL>, le problème de lieur apparaît-il ? L'expert ferait-il autre chose que rajouter cette directive ?

    Merci pour l'exemple d'ouverture de Word, il marche parfaitement.

    Salutations

    Xav.

  6. #6
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    oui bien sur
    il y a également l'inclusion de librairies de la VCL qui sont inclues implicitement par l'expert, ainsi que les obj de démarrage..
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 20
    Points : 22
    Points
    22
    Par défaut
    Merci infiniment pour ces explications, ainsi mon programme se développe comme je le souhaite.

    Salutations

    Xav

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur multiplateformes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 273
    Points : 628
    Points
    628
    Par défaut
    Autant pour moi : sysvari.hpp qui ne doit pas être inclut directement mais avec System.hpp
    Par contre, de mon coté, les variants fonctionnent très bien en mode console sur 10.3 avec seulement System.hpp sans avoir à inclure et à lier la vcl.
    Bizarre....
    Tout dépends aussi de ce que vous faites après....

    Yves

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

Discussions similaires

  1. [AC-2007] Utilisation de la touche MAJ pour déverrouiller une appli AC 97
    Par AndréPe dans le forum Sécurité
    Réponses: 2
    Dernier message: 08/02/2012, 09h30
  2. Utiliser JMeter pour tester une appli en https
    Par identifiant_bidon dans le forum EDI et Outils pour Java
    Réponses: 1
    Dernier message: 19/07/2011, 19h15
  3. Comment utiliser App.Config pour traduire une appli ?
    Par jjcasalo dans le forum VB.NET
    Réponses: 6
    Dernier message: 09/06/2011, 12h25
  4. Quelle techno utiliser pour faire une appli de gestion
    Par zaz147 dans le forum Général Java
    Réponses: 5
    Dernier message: 09/12/2010, 18h14
  5. [VB.NET] problème pour piloter une appli. excel 2003
    Par Pynuch dans le forum Windows Forms
    Réponses: 13
    Dernier message: 16/11/2005, 14h02

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