Bonjour,
Je souaiterais pouvoir accéder / utiliser des interfaces qui se trouvent dans un librairie TLB. J'ai consulté pas mal de docs mais aucune ne me donne une solution compréhensible.
Merci
Bonjour,
Je souaiterais pouvoir accéder / utiliser des interfaces qui se trouvent dans un librairie TLB. J'ai consulté pas mal de docs mais aucune ne me donne une solution compréhensible.
Merci
Envoyé par Lio590
Tu as le fichier .tlb ?
Si c'est le cas, tu n'as qu'à t'assurer que la librairie est enregistrée (regsvr32), faire (sous Delphi 7) Project --> Import Type Library et sélectionner le fichier à l'aide du bouton "Add...". Ça va créer un unit du genre MaLib_TLB.pas avec lequel il te sera possible d'utiliser les interfaces de l'objet COM.
Sous Delphi 2005, c'est dans le même menu que celui qui te permet d'importer des composants (je n'ai pas 2005 sous la main )
Bon dev!
Dans l'aide de Delphi 7 (désolé mon Delphi est en anglais) :
To import a type library,
1 Choose Project|Import Type Library.
2 Select the type library from the list.
The dialog lists all the libraries registered on this system. If the type library is not in the list, choose the Add button, find and select the type library file, choose OK. This registers the type library, making it available. Then repeat step 2. Note that the type library could be a stand-alone type library file (.tlb, .olb), or a server that provides a type library (.dll, .ocx, .exe).
3 If you want to generate a VCL component that wraps a CoClass in the type library, check Generate Component Wrapper. If you do not generate the component, you can still use the CoClass by using the definitions in the TypeLibName_TLB unit. However, you will have to write your own calls to create the server object and, if necessary, to set up an event sink.
The Import Type Library dialog only imports CoClasses that are have the CanCreate flag set and that do not have the Hidden, Restricted, or PreDeclID flags set. These flags can be overridden using the command-line utility tlibimp.exe.
4 If you do not want to install a generated component wrapper on the Component palette, choose Create Unit. This generates the TypeLibName_TLB unit and, if you checked Generate Component Wrapper in step 3, adds the declaration of the component wrapper. This exits the Import Type Library dialog.
5 If you want to install the generated component wrapper on the Component palette, select the Palette page on which this component will reside and then choose Install. This generates the TypeLibName_TLB unit, like the Create Unit button, and then displays the Install component dialog, letting you specify the package where the components should reside (either an existing package or a new one). This button is grayed out if no component can be created for the type library.
When you exit the Import Type Library dialog, the new TypeLibName_TLB unit appears in the directory specified by the Unit dir name control. This file contains declarations for the elements defined in the type library, as well as the generated component wrapper if you checked Generate Component Wrapper.
In addition, if you installed the generated component wrapper, a server object that the type library described now resides on the Component palette. You can use the Object Inspector to set properties or write an event handler for the server. If you add the component to a form or data module, you can right-click on it at design time to see its property page (if it supports one).
Note
The Servers page of the Component palette contains a number of example Automation servers that were imported this way for you.
As-tu consulté ces tutos ?
http://delphi.developpez.com/cours/?...them=Interface
Celui de Dick Lantim est trés bien et associé avec le code de la FAQ (Office) cela devrait s'éclaircir je pense.
Merci à tous cela fonctionne maintenant
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager