Delphipage - la reference en Delphi
Accueil - Astuces - Composants - Programmes - Tutoriaux - Livres - Liens
 Sources
- Astuces
- Composants
- Programmes
- Tutoriaux
 Rechercher
- Delphipage
- Ngscan
 Ressources
- Lexique Delphi
- Livres
- News
- Patchs Delphi
 Liens
- Borland France
- CodeGear
- Les meilleurs sites


Tutoriaux - OLE

A quoi sert l'OLE ?

L'OLE (Object Linking & Embedding) est une nouvelle technologie permettant à une application d'en piloter une autre en utilisant ses services.
Cette technique permet de faire communiquer deux applications entre elles.
L'automatisation OLE permet à un processus d'accéder aux services d'un autre processus ou d'une DLL. Vous pouvez alors vous servir des options d'une autre application comme Word ou Excel entre autre.
Si vous voulez utiliser un service d'une applicationn(par exemple: la correction orthographique de Word), il faut que celui-ci est un serveur d'automatisation OLE. Vous pouvez alors utiliser toutes les possibilités de l'application grâce à un contrôleur OLE. Grâce à ce contrôleur, vous pouvez alors utiliser les options d'une application sans même que l'utilisateur s'en aperçoive.


Présentation

Une application proposant des services se nomme serveur d'automatisation OLE.

Le processus pilotant un serveur d'automatisation OLE est appelé contrôleur d'automatisation OLE.
Lorsqu'un processus intègre à la fois le serveur et contrôleur d'automatisation OLE, on appelle ce processus de serveur d'automatisation intégré au processus.
Lorsque le serveur et le contrôleur sont deux processus distincts, on appelle alors cela le processus de serveur d'automatisation OLE local.
En réseau, on peut également effectuer de l'automatisation OLE entre deux machines, on appelle cela de l'automatisation OLE réseau (OLE NetWork Automation) ou DCOM.



Le contrôleur d'automatisation

Un contrôleur permet de controler un serveur d'automatisation OLE. Donc un controleur doit avoir connaissance des services du serveur.
Chaque serveur est libre de proposer les services qu'il désire.
Alors un contrôleur OLE ne doit pas manipuler une information de trype statique. Cette information doit être obligatoirement dynamique en fonction du serveur qui est utilisé. Delphi dispose d'un type de donnée appelé variant. Cette variable peut manipuler des objets quelconques et sert donc à la manipulation des serveurs OLE.

Connexion à un serveur

Pour se connecter à un serveur, il faut créer un objet ole grâce à la fonction "CreateOLEObject". Cette fonction se trouve dans l'unité "OleAuto" pour Delphi 2 et dans l'unité" ComObj" pour les versions supérieures.
Le serveur le plus connu est Word car c'est l'un des tous premiers qui met se service et l'un des logiciels les plus utilisés.


Voici la création d'un controleur OLE.

uses ComObj;

Var
WordApp:variant;

implementation


{$R *.DFM}

procedure
TForm1.Button1Click(Sender: TObject);
begin
//Démarrer Word
WordApp:=CreateOleObject('Word.Application'); //Crée un objet unique non initialisé de la classe spécifiée par le paramètre 'Word.Application'
WordApp.Application.Visible:=True; //Rends l'application Word visible
end;

Déconnexion d'un serveur


Pour se déconnecter d'un serveur, il faut assigner une valeur vierge à la variable de type variant.

procedure TForm1.Button2Click(Sender : TObject);
begin
WordApp:=UnAssigned;
end;

Utilisation d'un service

Voici un exemple qui créer un nouveau document.

procedure TForm1.Button3Click(Sender : TObject);
begin
WordApp.Documents.Add; //Nouveau document
end;

Exemple complet d'OLE avec Word

uses ComObj;


var Form1: TForm1;
WordApp :Variant;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
//Démarrer Word
WordApp:=CreateOleObject('Word.Application'); //Cree un objet unique non initialisé de la classe spécifiée par le paramètre 'Word.Application'
WordApp.Application.Visible:=True; //Rends l'application Word visible
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//Fermer Word
WordApp.Quit;
WordApp:=UnAssigned;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
//Rendre invisble Word
WordApp.Visible:=False;
end;

procedure
TForm1.Button9Click(Sender: TObject);
begin
//Rendre visible Word
WordApp.Visible:=True;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
//Nouveau document
WordApp.Documents.Add;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
//Ouvrir un document
WordApp.Documents.Open(Edit1.Text);
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
//Fermer un document
WordApp.Documents.Close;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
//Insérer du texte
WordApp.Selection.InsertAfter(Edit2.Text)
end;

end.

OLE avec Word    [ 29-06-2002 ]
 Exemples d'ole avec Word.
Télécharger :  [6 Ko] [Télécharger oleword.zip]

Auteur : Yoann
Site internet :
http://delphipage.free.fr/
 

Tous droits réservés - Contacts
Haut de la page