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

Delphi Discussion :

TOLEContainer et Excel


Sujet :

Delphi

  1. #1
    Membre averti
    Inscrit en
    Août 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 21
    Par défaut TOLEContainer et Excel
    Bonjour,

    J'ai un TOLEContainer dans une Form MDI Child pour traiter des données avec Excel.
    Si Excel est lancé avant mon application en avant-plan il n'est plus possible de passer à l'application Excel, l'accès au contenu du TOLEContainer est fonctionnel. Si je quitte mon application, Excel en avant-plan est brutalement fermé.
    Si Excel est lancé en avant-plan après mon application, l'accès au contenu de Excel et du TOLEContainer est fonctionnel.
    Quand je quitte mon application, Excel reste en processus en arrière-plan.

    J'ai fait le test avec un programme simple : une TForm avec un TOLECOntainer pour utiliser Excel, j'ai les mêmes dysfonctionnements (Cf. image jointe).
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ComObj,
      Dialogs, OleCtnrs, ExtCtrls;
     
    type
      TForm1 = class(TForm)
        OleContainer1: TOleContainer;
        procedure FormCreate(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
     
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
      oExcel: OleVariant;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.FormCreate(Sender: TObject);
     
    begin
      with OleContainer1 do begin
        Align:=alClient;
        CreateObject('Excel.Sheet', False);
        Doverb(ovPrimary);
      end;
      oExcel:=OleContainer1.OleObject.Application;
    end;
     
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      if (OleContainer1.State=osUIActive) then begin
        oExcel.Quit;
      end;
      Action:=caFree;
    end;
     
    end.
    Merci pour votre aide.
    Images attachées Images attachées  

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/04/2008, 17h21
  2. TOleContainer avec Excel
    Par Masmeta dans le forum C++Builder
    Réponses: 3
    Dernier message: 08/03/2007, 13h51
  3. [VB6] [Excel] Résultat d'une requete ds une feuille
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/01/2003, 17h52
  4. Réponses: 2
    Dernier message: 22/07/2002, 12h13
  5. [Kylix] Excel via kylix
    Par Billy joel dans le forum EDI
    Réponses: 1
    Dernier message: 23/05/2002, 11h57

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