[Résolu] intégration de dll vb6
Anonyme
Bonjour je souhaite intégrer une dll écrite en vb6 dans windev
Cette dll/activex ne possede q'une classe et je voudrais savoir si cela est possible :
Soit par un AppelDLL32
soit par un objet Automation (cela me semble plus logique vu que c'estune dll/activeX)

Je n'arrive pas a acceder a ma fonction par aucune des deux méthodes, cela est il possible sans réécrire la dll en C ou C++?
Merci d'avance

Contribution le : 18/03/2005 16:24
Créer un fichier PDF de la contribution Imprimer


Re: intégration de dll vb6
Animateur WDF
Inscrit:
22/11/2004 11:23
Post(s): 255

hInst est un entier
hInst = ChargeDLL ("MaDLL.DLL")
SI hInst = 0 ALORS
  Erreur("Erreur lors du chargement")
SINON
  AppelDLL32("MaDLL", "FonctionA", par1, par2)
  AppelDLL32("MaDLL", "FonctionB", par1)
  DéchargeDLL(hInst)
FIN


Si vous utilisé ce code, est-ce que vous arrivé à charger correctement la DLL ?

Si oui, quel est l'erreur renvoyée par Windev dans "AppelDLL32" ?

Contribution le : 18/03/2005 16:34
Créer un fichier PDF de la contribution Imprimer


Re: intégration de dll vb6
Anonyme
J'ai essayé le conde standard le message renvoyé est "La fonction 'AAA' n'a pas été trouvée dans la DLL XXX.dll"

je précise bien que c'est une dll écrite en VB6 et donc en fait une activeX/dll pour etre plus precis disons que cette Dll s'appelle Util.dll elle contient un classe Math qui contient une fonction Addition(chiffre1,chiffre2)
le code en vb serait
Global MonUtil As Util.Math
dim dResultat as double

set MonUtil=new Util.Math
dResultat=MonUtil.Addition(1,2)

le probleme est que je n'arrive pas a atteindre la fonction addition en WD car elle se trouve dans une classe

Merci de votre attention
Syfe

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


Re: intégration de dll vb6
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

ChargeDLL charge des dlls classique tel qu'ecrite en c
avec VB6 il s'agit de dll ActiveX par conséquent l'appel à celle ci se font de maniere suivante:

oObj est un objet automation "."



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


Re: intégration de dll vb6
Anonyme
J'ai aussi essayé ca, mais je recoie un message d'erreur comme quoi la dll n'est pas installée, pourtant je l'ai mis dans le rep system de windows et regsvr32 dessus avec message qui me confirme le chargement de la dll, j'en suis a envisager la réécriture en C de ma DLL et ca me fait pas auter de joie.
Si un morceau de code complet sur objet automation traine je suis preneur :)
Merci encore

Contribution le : 19/03/2005 00:44
Créer un fichier PDF de la contribution Imprimer


Re: intégration de dll vb6
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Nous avons déjà rencontré ce genre de probleme lorsqe les runtime VB6 n'était installé sur le poste.

Est-ce le cas ?

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


Re: intégration de dll vb6
Anonyme
non malheureusement c'est un poste de developpement ou VB6 est installé, mais étant relativement nouveau sur WD, le problème peut aussi provenir de mon source, avez vous déja utilisé une dll crée en VB6 dans une appli ecrite en WD?, si cela est le cas, ca confirmerait une erreur dans le source, un petit extrait de source serait alors le bienvenue.
En tout cas merci de votre aide, il est rare de trouver un bon forum sur windev ;)

Contribution le : 19/03/2005 15:43
Créer un fichier PDF de la contribution Imprimer


Re: intégration de dll vb6
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

j'ai écrit plusieurs ActiveX en VB et aussi des dll ActiveX (ActiveX sans interface utilisateur) et entre autre une dll ActiveX qui est utilisé dans le projet La Poste

Le projet de la dll sous vb s'appelle 'ActxControleGrilleWD.vbp' et le nom de la dll : ActxControleGrilleWD.dll

le nom de la classe contenu dans ce projet s'appel
actxControleCPWD.cls

Dans WinDev8 l'initialisation de la dll est faite de la façon suivante:
:objCP = allouer un objet Automation "ActxControleGrilleWD.ActxControleCPWD" 


Une fois la dll enregistrée via regsvr32.
Utiliser l'outil OLE View contenu dans le package VB6.
Sélectionner dans le TreeView : 'types libraries'
et vous trouverez la librairie actxControleGrilleWD.
En double cliquant dessus, vous pourrez trouver les classes utilisables et préfixées par le mot 'coclass' ici : actxControleCPWD.

Vous n'aurez plus qu'a répéter ces opérations pour l'utilisation de votre dll.

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


Re: intégration de dll vb6
Anonyme
Ca marche nickel, je te remercie de ton aide, j'echappe ainsi à la réécriture en C de ma DLL oufffff :)

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


Re: intégration de dll vb6
Anonyme
Bonjour,
Un problème connexe à ce sujet.
J'essaie d'utiliser un ActiveX dans lequel il y a des définitions de classes (ActiveX de gestion de graphiques (AddFlow)de la société Lassale Technologies).
Ceci en définissant un champ ActiveX dans une fenêtre WinDev.
Il m'est impossible d'accéder aux nouveaux types. Je n'accède qu'aux propriétés, méthodes et évennements de l'activeX avec l'opérateur >>, mais pas au nouveaux types (ou classes). Ce qui est pourtant transparent en Delphi ou VB6 après avoir chargé le composant.
(Dim Node as afNode //en VB ou Node est une variable de afNode, nouvelle classe apportée par le composant)
Le support de PCSoft m'annonce que c'est impossible !?, qu'une nouvelle version de WinDev le fera sans doute.
Mais vu les codes que j'ai pu lire ici, il me semble y avoir un moyen de faire cela dès maintenant. (j'utilise WinDev9).
Qu'en pensez vous ?
Merci

Contribution le : 12/04/2005 19:26
Créer un fichier PDF de la contribution Imprimer


Re: intégration de dll vb6
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Certain type représente en fait des interfaces et WinDev ne les gères pas comme VB6 ou Delphi, cependant il vous suffit de les déclarer en objet dynamique pour pouvoir les manipuler.

Node est un objet automation dynamique
Node = ActiveX>>GetNode()
Info(Node>>Name)


Les membres ou propriétés utilisées sont immaginaires mais la technique est la, il ne vous reste qu'a l'appliquer.

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


Re: intégration de dll vb6
Anonyme
Merci beaucoup pour la rapidité de la réponse.
Ca marche super.
Je ne comprends pas la réponse du service technique de PCSoft qui ne m'a pas aiguillé sur cette solution.
Pourtant je ne dois surement pas être le seul à utiliser des activeX avec WinDev.

Merci encore

Contribution le : 13/04/2005 15:05
Créer un fichier PDF de la contribution Imprimer


Re: intégration de dll vb6
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Merci du compliment,

Citation :


Je ne comprends pas la réponse du service technique de PCSoft qui ne m'a pas aiguillé sur cette solution.


[blague]
Parce qu'il faudrait peu être que l'équipe WDForge fasse partie du Service Technique
[/blague]

Serieusement, il est tout simplement plus facile pour quelqu'un qui utilise ce genre de pratique d'y répondre quand on connait la solution , surtout que l'on a le temps d'y répondre et de relire à plusieurs reprise la question pour bien discerner le problème. Il est bien plus difficile de répondre quand la réponse doit être quasi instantanée.

Il faut savoir que cette pratique est plus liée à l'utilisation des objets COM (Utilisation avancé de WinDev) qu'à son 'utilisation standard.

Ce genre de réponse est surement de l'ordre du service d'assistance de PCSoft que du ST téléphonique.

Contribution le : 13/04/2005 19:19
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
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