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 à l'essai
    Inscrit en
    Août 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 16
    Points : 19
    Points
    19
    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