Liaison à une DDL (WinbooksOfficeApi.dll)
ChefDeProjet WDF
Inscrit:
05/07/2005 12:29
De Namur
Post(s): 156
Bonjour,

N'ayant jamais travaillé avec des DLL, je suis un peu perdu et je ne sais pas trop comment commencer...

Devant exporter des écritures vers un programme externe, j'ai besoin des objets, propriétés et méthodes d'une DLL du pgm externe.

Je dois d'abord ajouter une référence vers cette DLL mais je ne sais pas comment!?

Une fois la DLL liée à mon application, je dois déclarer une nouvelle variable objet à laquelle je dois assigner l'objet créé!?

Merci de m'éclairer sur ce sujet...

Contribution le : 02/11/2005 11:26

Edité par drcharly93 sur 18/11/2005 0:54:25
Créer un fichier PDF de la contribution Imprimer


Re: Liaison à une DDL
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Il faut commencer par savoir qu'elle type de DLL vous désirez utiliser

DLL Classique ou DLL activeX
peut être pour mieux vous aider son NOM

en regle générale
pour une DLL classique

API(,,,,...)

pour une Dll ActiveX:
Obj est un objet automation dynamique
Obj = allouer un objet automation "."


Contribution le : 02/11/2005 12:12
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Liaison à une DDL
ChefDeProjet WDF
Inscrit:
05/07/2005 12:29
De Namur
Post(s): 156
En fait, c'est pour établir une liaison vers le programme comptable Winbooks... J'essaie un peu tout, mais rien à faire, je ne parviens pas à établir la liaison...

La marche a suivre est la suivante :
1) Ajouter une référence vers WinbooksOfficeApi.dll
2) Une fois WinbooksOfficeApi.dll liée à mon application, déclarer une nouvelle variable objet et lui assigner une référence à l'objet WinbooksObject

Je pourrai ensuite accéder à touters les méthodes et propriétés du nouvel objet... mais le problème c'est que je ne parviens pas à faire ces 2 points!

Merci pour votre aide...

Contribution le : 02/11/2005 13:36
Créer un fichier PDF de la contribution Imprimer


Re: Liaison à une DDL
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonsoir et désolé du retard,

Généralement et lorsqu'il sagit de DLL activeX on peut retrouver le nom du serveur de la facon suivantes :

Rechercher dans la base de registre dans la clé :
- \HKEY_CLASSES_ROOT\CLSID
le nom de votre dll. Ici par exemple 'WinbooksOffice'
et tenter de trouver des noms du type :
- WinbooksOffice.Application
ou WinbooksOfficeApi.Application

ou d'autres forme mais toujours du style
Nom su serveur . nom de la classe
comme
Excel.Application
Word.Application.9
DAO.DBEngine
DAO.TableDef
ADODB.Command
ADODB.Connection
Excel.Sheet
AcroExch.Document

Contribution le : 02/11/2005 18:00
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Liaison à une DDL
DSI WDF
Inscrit:
03/12/2004 07:46
Post(s): 235
Je ne connais pas cette DLL activeX mais lorsque j'ai besoin d'info sur ce type d'application j'utilise souvent l'explorateur d'objet de MS.
Si tu as sur ta machine Excel ou Word tu ouvre un nouveau document.
Outils, macro, Visual basic éditeur
Outils, références
J'ajoute une référence à la DLl
Ensuite
Affichage, explorateur d'objet (F2)
Et là en général je trouve les objets, propriétés, méthodes, constantes et syntaxe.
En espérant avoir pu apporter de l'eau à ton moulin à défaut de grains à moudre

Contribution le : 03/11/2005 08:05
Créer un fichier PDF de la contribution Imprimer


Re: Liaison à une DDL
Anonyme
Tt d'abord, je vous remercie pour votre aide...

Concernant la recherche ds la base de registre, j'ai pu trouver qq références comme par exemple : WinbooksOfficeApi.WinbooksObject

Avec visual basic editor, je peux voir ttes les méthodes et propriétés de mon objet... Intéressant comme truc.

Reste plus qu'à implémenter ca ds Windev mais je ne sais pas trop comment faire pour déclarer cette référence car mes essais sont, pour l'instant, infructueux...

Contribution le : 03/11/2005 08:49
Créer un fichier PDF de la contribution Imprimer


Re: Liaison à une DDL
ChefDeProjet WDF
Inscrit:
05/07/2005 12:29
De Namur
Post(s): 156
sry, g t pas connecté...

Via Visual Basic, je peux voir:

WinbooksOfficeApi = La bibliothèque
WinbooksObject = La classe
La liste de tous les membres de la classe comme par exemple : init() ou login(nomUser,MotdePasse)

Comment écrire cela en Windev, avec quels fonctions?

hInst est un entier = ChargeDLL ("WinbooksOfficeApi.dll")
SI hInst = 0 ALORS
 Erreur("Erreur lors du chargement")
SINON
 Info("DLL chargée")
 retourFct est un entier = API("WinbooksOfficeApi","init")
 DéchargeDLL(hInst)
FIN


Voici le message d'erreur : Vous avez appelé la fonction API.
La fonction 'init' n'a pas été trouvée dans la DLL WinbooksOfficeApi

Autre essai :

wb est un objet Automation dynamique
wb = allouer un objet Automation "WinbooksOfficeApi.WinbooksObject"

wb>>Init()


Le tout, est d'ajouter une référence à cette DLL, car en VB, ca marche sans problème...


PS : merci pr l'eau Bebe ;)

Contribution le : 03/11/2005 08:50
Créer un fichier PDF de la contribution Imprimer


Re: Liaison à une DDL
DSI WDF
Inscrit:
03/12/2004 07:46
Post(s): 235
Une DLL activeX doit être enregistrée dans la base de registre pour pouvoir être utilisée, (commande regserv il me semble) c'est l'info que te donnait DrCharly93 dans son mail précédent.
Tu dis que ça fonctionne sans problème en VB, mais avec quelle syntaxe (CreateObjet()) ?

Contribution le : 03/11/2005 12:17
Créer un fichier PDF de la contribution Imprimer


Re: Liaison à une DDL
ChefDeProjet WDF
Inscrit:
05/07/2005 12:29
De Namur
Post(s): 156
J'y suis arrivé avec :
wb est un objet Automation dynamique
wb = allouer un objet Automation "WinbooksOfficeApi.WinbooksObject"

// 1) Initialisation
res1 est un entier = wb>>Init()
SELON res1
	CAS 0 : Info("Initialisation réussie.")
	CAS 1 : Info("Le fichier utilisateur n'a pas été trouvé.")
FIN 


En VB, je déclarais : Dim wb as new WinbooksObject et je lancais ensuiste les méthodes et ca passait sans souci.
Enfin, maintenant ca marche avc Windev, Merci à vous!

Contribution le : 03/11/2005 12:58
Créer un fichier PDF de la contribution Imprimer


Re: Liaison à une DDL
ChefDeProjet WDF
Inscrit:
05/07/2005 12:29
De Namur
Post(s): 156
Citation :

Bebe a écrit:
Une DLL activeX doit être enregistrée dans la base de registre pour pouvoir être utilisée, (commande regserv il me semble)


Quand je run "regsrv nomDeMaDLL.dll" ou "regserv nomDeMaDLL.dll", Windows renvoie une erreur comme quoi il ne trouve pas regsrv.

Comment faire pour installer une DLL?

NB: J'ai copié la DLL dans System32, mais quand je la déclare dans Windev, il me dit qu'elle n'est pas installée.

Contribution le : 17/11/2005 19:32
Créer un fichier PDF de la contribution Imprimer


Re: Liaison à une DDL
ChefDeProjet WDF
Inscrit:
05/07/2005 12:29
De Namur
Post(s): 156
En fait, je dois maintenant accéder à une variable d'énumération* qui est un membre de la DLL WinbooksOfficeApi, mais je ne sais pas comment déclarer cet accès. L'objectif étant d'utiliser des membres de TypeSolution.

*Je vois ca dans l'explorateur d'objet de VB (Enum TypeSolution, Membre de WinbooksOfficeApi)

J'arrive à déclarer une classe (et à utiliser ses méthodes) qui est membre de la DLL WinbooksOfficeApi via :
wb est un objet Automation dynamique
wb = allouer un objet Automation "WinbooksOfficeApi.WinbooksObject"


si je déclare:
wbG est un objet Automation dynamique
wbG = allouer un objet Automation "WinbooksOfficeApi.TypeSolution"


Il me dit que WinbooksOfficeApi.TypeSolution n'est pas installé sur mon système...

Contribution le : 17/11/2005 20:04
Créer un fichier PDF de la contribution Imprimer


Re: Liaison à une DDL
ChefDeProjet WDF
Inscrit:
05/07/2005 12:29
De Namur
Post(s): 156
Concernant ma variable d'énumération, je n'ai finalement pas eut besoin de la déclarer, car étant une constante, j'ai juste mis sa valeur et ca tourne bien...
Donc c'est ok...

Contribution le : 18/11/2005 10:05
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2