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 :

Message d'attente pendant pilotage Ole Excel


Sujet :

C++Builder

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Message d'attente pendant pilotage Ole Excel
    Bonjour bonjour,

    je suis un débutant mais je me lance de grand défi...

    j'ai un problème avec mes message d'attente qui sont censé s'afficher pendant un traitment ole:
    mon code:

    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
    Text->Caption = "Traitement en cours";
     
     
     
    Variant vXL, vNameFile, vXLWbs, vXLAppl, Wb;
     
     
    vXL = CreateOleObject("Excel.Application");
     
     
     
    vNameFile = NGlobal.c_str();
     
    vXLWbs = vXL.OlePropertyGet("Workbooks");
    vXLAppl = vXL.OlePropertyGet("Application");
    Wb = vXLWbs.OleFunction("Open", vNameFile);
    vXLAppl.OleFunction("Run", "ThisWorkbook.Supp");
     
    Wb.OleFunction("Save");
     
     
    vXL.OleFunction("Quit");
    vXL = Unassigned;
     
    Text->Caption = "Bienvenue";
    Donc j'ai dans ma Form un Label Text qui change. Le Fichier Excel que je lance exécute une macro.
    je suis sous Borland C++ Builder 6

    que dois-je faire pour que le Texte change c'est comme si le Form été bolqué.

    merci d'avance

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Bonjour et bienvenue

    Ceci devrait t'aider : http://c.developpez.com/faq/bcb/?pag...plicationfigee

    N'oublies pas les balises [Code] la prochaine fois

    Eric

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    merci bcp pour cette réponse rapide

    j'ai essayé d'ajouter le code suivant :

    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
    Application->ProcessMessages();
    Text->Caption = "Traitement en cours";
     
     
    Variant vXL, vNameFile, vXLWbs, vXLAppl, Wb;
     
    vXL = CreateOleObject("Excel.Application");
     
    vNameFile = NGlobal.c_str();
     
    vXLWbs = vXL.OlePropertyGet("Workbooks");
    vXLAppl = vXL.OlePropertyGet("Application");
    Wb = vXLWbs.OleFunction("Open", vNameFile);
    vXLAppl.OleFunction("Run", "ThisWorkbook.Supp");
     
    Wb.OleFunction("Save");
     
     
    vXL.OleFunction("Quit");
    vXL = Unassigned;
    Text->Caption = "Bienvenue";
    mais sans grand succès... apparament ce code est utilisé pour les boucles, seulement ici il n'y en a pas.

    il y a t'il une autre solution ?

    et pourtant l'affectation d'une nouvelle valeur pour le Caption du Text se fait avant le lancement d'Excel? pourquoi l'application est-elle figée déja avant ?

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 137
    Points : 161
    Points
    161
    Par défaut
    Ca devrait mieux marcher

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Text->Caption = "Traitement en cours"; 
    Application->ProcessMessages();

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

Discussions similaires

  1. [AJAX] Message d'attente pendant l'éxécution d'ajax
    Par Xann_71 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 27/07/2007, 11h11
  2. Message d'attente pendant traitement côté serveur
    Par bouliz dans le forum ASP.NET
    Réponses: 13
    Dernier message: 09/07/2007, 12h55
  3. Pilotage OLE Excel et VBE
    Par Sunchaser dans le forum C++Builder
    Réponses: 34
    Dernier message: 25/02/2007, 21h49
  4. Réponses: 12
    Dernier message: 09/01/2007, 15h28
  5. Réponses: 3
    Dernier message: 29/11/2006, 11h45

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