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 :

Différence entre OLE et COM


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Différence entre OLE et COM
    Bonjour,

    je cherche juste à bien comprendre la différence entre la technologie com et OLe.

    J'ai déjà pas mal lu mais il y a encore un point que je n'arrive pas convenablement à assimiler.

    La technologie com est utilisé pour communiquer avec des applications externes via des interfaces.

    On dit souvent que ole en est un synonyme. Mais qu'en est-il en utilsant ce code :
    MsWord := Unassigned;
    MsWord := CreateOleObject(WordAppCLassName);
    qui va nous servir à piloter word. Est-ce que cela utilise des interfaces ? Est-ce de la technologie com?

    Ma question peut sans doute paraître un peu bête mais c'est pour que ce soit clair dans ma tête.

    Pour moi le code précedent permet de diriger l'application word mais word ne peut communiquer avec l'application delphi. Pour utiliser des infos de l'application delphi dans word il faudrait utiliser une dll construite par la technologie com.

    merci d'avance pour vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    "COM, DCOM et autres ActiceX" c'est le chapitre consacré au sujet dans le livre "Delphi 7 Studio" aux éditions Eyrolles

    en fait la différence entre OLE et COM est historique

    OLE (Object Linking and Embedding) permet de mettre un document Word dans un document Excel, c'est apparu en premier

    puis et venu COM (Component Object Model)

    puis les OCX (OLE Control eXtension)

    DCOM (Distributed COM)

    en enfin ActiveX qui est un nouveau nom marketing pour les OCX

    tout cela utilise en effet les Interfaces qui sont au coeur de la communication entre applications.

    Par contre dans CreateOleObject on a en plus la notion de OLE Automation avec les dispinterfaces qui permettent de manipuler un objet OLE/COM/OCX/ActiveX sans en connaitre les interfaces, c'est pourquoi tu déclares msWord comme un Variant sans avoir à utiliser une interface IWordApplication.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup,

    donc si j'ai bien compris le createOleobject implémente les interfaces de lui-même soulageant le travail du programmeur.

    Bien à toi.

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par Blondin77 Voir le message
    Merci beaucoup,

    donc si j'ai bien compris le createOleobject implémente les interfaces de lui-même soulageant le travail du programmeur.

    Bien à toi.
    en quelque sorte oui, quand tu tapes msWord.MachinChose, Delphi exploite l'interface IDispatch pour connaitre le dispID de "MachinChose" puis l'Invoke toujours via IDispatch

    tout ce travaille se faisant lors de l'execution, tu peux très bien avoir des erreur dans ton programme qui ne poseront aucun problème de compilation.

    Il faut bien voir qu'au départ c'est fait pour permettre à une page Web d'invoquer une objet ActiveX sans avoir à déclarer son interface préalablement
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2004
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Merci pour toutes ces réponses; C'est bien plus clair dans ma tête maintenant.

    De plus, je suis entrain de lire delphi 7 studio et je le trouve très intéressant.

    Bien à toi.

Discussions similaires

  1. comprendre la différence entre http://example.com et http://www.example.com
    Par zarathoustra69 dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 19/12/2012, 23h55
  2. Quelle est la différence entre OLE et ActiveX ?
    Par Lucas Panny dans le forum C++Builder
    Réponses: 6
    Dernier message: 02/11/2007, 11h02
  3. [.NET/COM+] Différence entre .NET et COM+
    Par zsoh dans le forum Framework .NET
    Réponses: 3
    Dernier message: 31/08/2007, 14h18
  4. Différences entre a.out et *.com ???
    Par Thcan dans le forum x86 16-bits
    Réponses: 6
    Dernier message: 25/02/2003, 21h36

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