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 :

plantage Ole Excel et ActiveX


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 4
    Par d�faut plantage Ole Excel et ActiveX
    Bonjour,

    Une exception EAccessViolation est lev�e sur l'appel de OlePropertySet dans le fichier 'sysvari.h' ligne 2671.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    Variant vMSExcel;
     
    vMSExcel = Variant::CreateObject("Excel.Application");
    vMSExcel.OlePropertySet("Visible", true);
    ShowMessage("Ouvert");
    vMSExcel.OleFunction("Quit");
    vMSExcel = Unassigned;
    Lorsque je supprime un activeX (import�) de la form (Pragma link + .h), �a fonctionne normalement.

    Avez-vous des informations sur le probl�me ?

    Merci.

  2. #2
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Salut DamienN
    Fait voir le code d'ouverture d'Excel avec les entetes, le code que tu a poste est minimaliste mais fonctionnel
    #include <utilcls.h> // <--- ne pas oublier

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 4
    Par d�faut
    bonjour blondelle

    voici le code de mon cpp

    si je retire l'ActiveX Circ1Lib de ma form �a fonctionne normalement.

    Lorsque je pose un ActiveX (import�), il plante sur OlePropertySet.

    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
    //---------------------------------------------------------------------------
     
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit2.h"
     
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma link "Circ1Lib_OCX"
    #pragma resource "*.dfm"
    TForm2 *Form2;
    //---------------------------------------------------------------------------
    __fastcall TForm2::TForm2(TComponent* Owner)
        : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm2::Button1Click(TObject *Sender)
    {
    Variant vMSExcel;
     
    vMSExcel = Variant::CreateObject("Excel.Application");
    vMSExcel.OlePropertySet("Visible", true);
    ShowMessage("Ouvert");
    vMSExcel.OleFunction("Quit");
    vMSExcel = Unassigned;
    }
    //---------------------------------------------------------------------------
    je ne comprends pas, comme si les fonctions OLE etaient red�finies.

  4. #4
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Dans ton code n'oublie pas d'integrer dans l'entete car tu aura une erreur avec certaines fonctions
    #include <utilcls.h> // <--- ne pas oublier
    Pour ton probleme essai de le placer soit avant soit apres ta definition de l'OCX il est possible que cela resoud l'erreur, sinon je ne vois pas desole

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 4
    Par d�faut
    Merci pour l'info.

    �a marche pas m�me en d�pla�ant l'include.

    encore merci.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 4
    Par d�faut
    Voici la solution qui fonctionne sous C++ Builder 6

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    Variant vMSExcel;
     
    vMSExcel = Variant::CreateObject("Excel.Application");
    vMSExcel.Exec(PropertySet("Visible") << Variant(true));
    ShowMessage("Ouvert");
    vMSExcel.Exec(Function("Quit"));
    vMSExcel = Unassigned;

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [OLE Excel] Aller jusqu'� la derni�re cellule rempli
    Par JBrek dans le forum API, COM et SDKs
    R�ponses: 9
    Dernier message: 07/08/2009, 19h21
  2. Petit prob avec l'OLE EXCELL sous builder
    Par vladi dans le forum C++Builder
    R�ponses: 2
    Dernier message: 10/03/2005, 19h30
  3. Manipulation d'un Objet OLE Excel ?
    Par NiKro75 dans le forum VBA Access
    R�ponses: 10
    Dernier message: 05/07/2004, 17h43
  4. [OLE Excel] R�cup�rer une colonne d'un coup
    Par Nemerle dans le forum C++Builder
    R�ponses: 2
    Dernier message: 17/05/2004, 15h56
  5. [OLE Excel] Erreur
    Par JBrek dans le forum API, COM et SDKs
    R�ponses: 9
    Dernier message: 23/03/2003, 18h28

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