Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Impossible d'utiliser cette DLL

12 réponses
Avatar
JC
Bonjour

Je cherche =E0 m'interfacer avec Ivy.dll que vous trouverez =E0
http://www2.tls.cena.fr/products/ivy/download/binaries.html (en C#, C+
+,...). Nous utilisons ces DLL en VB, C#, Java, elles fonctionnent
tr=E8s bien. J'ai essay=E9 de les int=E9grer dans du code Windev (et =E0 te=
rme
je voudrais faire de m=EAme en Windev Mobile), mais =E7a ne marche pas.
Chaque fois WD me dit que la fonction n'existe pas, or elle existe bel
et bien puisque d=E9j=E0 test=E9 dans d'autres langages. Avez-vous une
id=E9e ?

Voici un exemple de code ci-dessous. Windev charge bien la DLL, mais
ne trouve pas la fonction (j'ai essay=E9 start, Start, START... m=EAme
r=E9sultat).

HndlLib est un entier

// Chargement de la librairie
sNomDLL est une cha=EEne
sNomDLL =3D "C:\Mes Projets\Test Ivy\Ivy.dll"
// pour info, j'ai essay=E9 aussi dans Windows, WIndows\System32... idem

HndlLib=3DChargeDLL(sNomDLL)
SI HndlLib=3D0 ALORS
Info("La Librairie n'est pas charg=E9e")
SINON
Info("La Librairie est charg=E9e")
AppelDLL32(sNomDLL,"start", "127.0.0.1:2010"))
Trace("ok")

// D=E9charge la librairie
D=E9chargeDLL(HndlLib)
FIN

Merci par avance

JC

10 réponses

1 2
Avatar
Vince
Salut,

C'est pas plutot IvyStart et non Start par hasard ?

A+
Vince
http://vroy1.free.fr/wpfr/



On 30 sep, 16:46, JC wrote:
Bonjour

Je cherche à m'interfacer avec Ivy.dll que vous trouverez àhttp://www 2.tls.cena.fr/products/ivy/download/binaries.html(en C#, C+
+,...). Nous utilisons ces DLL en VB, C#, Java, elles fonctionnent
très bien. J'ai essayé de les intégrer dans du code Windev (et à terme
je voudrais faire de même en Windev Mobile), mais ça ne marche pas.
Chaque fois WD me dit que la fonction n'existe pas, or elle existe bel
et bien puisque déjà testé dans d'autres langages. Avez-vous une
idée ?

Voici un exemple de code ci-dessous. Windev charge bien la DLL, mais
ne trouve pas la fonction (j'ai essayé start, Start, START... même
résultat).

HndlLib est un entier

// Chargement de la librairie
sNomDLL est une chaîne
sNomDLL = "C:Mes ProjetsTest IvyIvy.dll"
// pour info, j'ai essayé aussi dans Windows, WIndowsSystem32... idem




HndlLib=ChargeDLL(sNomDLL)



SI HndlLib=0 ALORS
        Info("La Librairie n'est pas chargée")
SINON
        Info("La Librairie est chargée")
        AppelDLL32(sNomDLL,"start", "127.0.0.1:2010"))
        Trace("ok")

        // Décharge la librairie
        DéchargeDLL(HndlLib)
FIN

Merci par avance

JC


Avatar
Romain PETIT
JC a formulé la demande :
Je cherche à m'interfacer avec Ivy.dll





Vince a formulé la demande :
C'est pas plutot IvyStart et non Start par hasard ?



Sinon, peut être qu'un utilitaire comme "DLL Export Viewer" ou
"dependencyWalker" permettra de retrouver le bon nom de la fonction.

A+

--
Romain PETIT
contact : http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Avatar
JeAn-PhI
Romain PETIT a formulé ce jeudi :
JC a formulé la demande :
Je cherche à m'interfacer avec Ivy.dll





Vince a formulé la demande :
C'est pas plutot IvyStart et non Start par hasard ?



Sinon, peut être qu'un utilitaire comme "DLL Export Viewer" ou
"dependencyWalker" permettra de retrouver le bon nom de la fonction.

A+



j'ai fait le test avec DLL Export viewer et rien n'apparait dans la
liste

--
Cordialement JeAn-PhI
Avatar
Romain PETIT
JeAn-PhI a formulé ce jeudi :
j'ai fait le test avec DLL Export viewer et rien n'apparait dans la liste



C'est une dll ActiveX alors ?
C'est quoi ton code en VB ?

--
Romain PETIT
contact : http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Avatar
JC
On 30 sep, 22:51, Vince wrote:
Salut,

C'est pas plutot IvyStart et non Start par hasard ?




J'ai essayé aussi, même résultat.
Avatar
JC
Je n'ai pas de code en VB.

J'ai utilisé DLL Export Viewer, mais c'est plus compliqué que ça. A
l'URL indiqué, on trouve des DLL différentes dont :
- Ivy.dll, Ivy DLL C#
- com-ivy.msi, Ivy COM component for Visual Basic for Applications
(0.1) , qui une fois exécuté fournit un répertoire avec une comIvy.dl l
et Ivy.dll.

Après consultation des DLL, certaines Ivy.dll ne donnent rien, et
d'autres Ivy.dll donnent la liste des fonctions qui semblent être
IvyStart, IvyStop, etc. (alors qu'en Java, c'est juste des start,
stop,...). Si je ferais mon code, en prenant en compte ces "nouveaux"
noms de fonctions, :
- si je veux charger comIvy.dll, Windev me jette en disant que la
libraire n'est pas chargée,
- si je charge Ivy.dll, le chargement se passe bien comme avant, mais
sur le IvyStart (au lieu du start précédemment), Windev me jette avec
une erreur grave (voir ci-dessous).

Que faire... ?
JC

Erreur à la ligne 19 du traitement Clic sur BTN_Bouton1.
Vous avez appelé la fonction AppelDLL32.
Une erreur système inattendue est survenue.
Si cet incident se produit de manière systématique lorsque vous
exécutez les mêmes manipulations, il est conseillé de transmettre au
Support Technique Gratuit :
- une description des circonstances de l'incident
- les lignes de code, une fenêtre ou un projet permettant de
reproduire le problème
- les informations techniques suivantes

Détails techniques :

Module : Ivy.dll
Adresse de base : 10000000
Erreur système : Access violation (GPF)
EIP = 100172FA
OS : Windows XP ou .NET Service Pack 3(5.1.2600)

Informations techniques

Projet : test Ivy

Dump de l'erreur du module <WD120VM.DLL> <12.01Cy>.

- Appel WL :
Traitement de <FEN_Test Connexion.BTN_Bouton1>, ligne <19>, thread <0>
Fonction <AppelDLL32>, n° de syntaxe <0>

- Niveau : erreur fatale (EL_FATAL)

- Code erreur : 1020

- Code erreur WD55 : 0

- Pas de code d'erreur système

- Pas de message d'erreur système

- Que s'est-il passé ?
Une erreur système inattendue est survenue.
Si cet incident se produit de manière systématique lorsque vous
exécutez les mêmes manipulations, il est conseillé de transmettre au
Support Technique Gratuit :
- une description des circonstances de l'incident
- les lignes de code, une fenêtre ou un projet permettant de
reproduire le problème
- les informations techniques suivantes

Détails techniques :

Module : Ivy.dll
Adresse de base : 10000000
Erreur système : Access violation (GPF)
EIP = 100172FA
OS : Windows XP ou .NET Service Pack 3(5.1.2600)

- Infos de debug :
Registres :

EIP = 100172FA EBP = 0012EC54
EAX = 00D12164 EBX = 00B37FE8
ECX = 00000000 EDX = 00000000
ESI = 77C03C31 EDI = 0012EC54

Pile des appels :

[Ivy.dll (10000000)] 10011EC4 : IvyWatcher::operator=() + 21558 bytes
[Ivy.dll (10000000)] 10011EC4 : IvyWatcher::operator=() + 75721 bytes
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25EC84C0 :
nConversionDepassementEx() + 368237 bytes
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25EC84C0 :
nConversionDepassementEx() + 371049 bytes
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25EC84C0 :
nConversionDepassementEx() + 370139 bytes
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 103547 bytes
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25FA9238
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 42704 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25F75A60-> INVALID,
stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E9C1F0 :
EXT_pszGetMessageErreurDelegue() + 76288 bytes-> INVALID, stack
increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E9C1F0 :
EXT_pszGetMessageErreurDelegue() + 76288 bytes-> INVALID, stack
increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E9C1F0 :
EXT_pszGetMessageErreurDelegue() + 76288 bytes-> INVALID, stack
increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 49616 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 49552 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48128 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48304 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48176 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48320 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48480 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48496 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48976 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48400 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48992 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 131984 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 134048 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48416 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48448 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48464 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E74550 : WL_SetParam()
+ 48384 bytes-> INVALID, stack increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E9C1F0 :
EXT_pszGetMessageErreurDelegue() + 76288 bytes-> INVALID, stack
increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E9C1F0 :
EXT_pszGetMessageErreurDelegue() + 76288 bytes-> INVALID, stack
increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E9C1F0 :
EXT_pszGetMessageErreurDelegue() + 76288 bytes-> INVALID, stack
increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E9C1F0 :
EXT_pszGetMessageErreurDelegue() + 76288 bytes-> INVALID, stack
increased by 4
[WD120VM.DLL (25E60000), 12.01Cy, 01F120056c] 25E9C1F0 :
EXT_pszGetMessageErreurDelegue() + 76288 bytes-> INVALID, stack
increased by 4

Fonction (0,18)

- Infos attachées :
EIT_PILEWL :
Clic sur BTN_Bouton1 (FEN_Test Connexion.BTN_Bouton1), ligne 19
EIT_COMPOSANT :

EIT_DATEHEURE : 01/10/2009 14:50:20

- Identifiant dans le .err : 1020
Avatar
Romain PETIT
JC a formulé ce jeudi :
- si je charge Ivy.dll, le chargement se passe bien comme avant, mais
sur le IvyStart (au lieu du start précédemment), Windev me jette avec
une erreur grave (voir ci-dessous).

Que faire... ?



Déjà, copier-coller le code utilisé provoquant le crash...

A+

--
Romain PETIT
contact : http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Avatar
Daniel
JC a écrit :
Je n'ai pas de code en VB.

J'ai utilisé DLL Export Viewer, mais c'est plus compliqué que ça. A
l'URL indiqué, on trouve des DLL différentes dont :
- Ivy.dll, Ivy DLL C#
- com-ivy.msi, Ivy COM component for Visual Basic for Applications
(0.1) , qui une fois exécuté fournit un répertoire avec une comIvy.dll
et Ivy.dll.

Après consultation des DLL, certaines Ivy.dll ne donnent rien, et
d'autres Ivy.dll donnent la liste des fonctions qui semblent être
IvyStart, IvyStop, etc. (alors qu'en Java, c'est juste des start,
stop,...). Si je ferais mon code, en prenant en compte ces "nouveaux"
noms de fonctions, :
- si je veux charger comIvy.dll, Windev me jette en disant que la
libraire n'est pas chargée,
- si je charge Ivy.dll, le chargement se passe bien comme avant, mais
sur le IvyStart (au lieu du start précédemment), Windev me jette avec
une erreur grave (voir ci-dessous).

Que faire... ?
JC



Utiliser la bonne dll qui correspond au langage C ou C++.
Lire la doc, qui comporte des exemples.

Si vous voulez passer par com, dans ce cas utiliser les commandes Objet
automation pour les activex.

--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Avatar
JC
Désolé de revenir à la charge, mais je galère totalement...

Le souci est que la doc (http://www2.tls.cena.fr/products/ivy/
documentation/) est relative pauvre. Quand on regarde les exemples
Java et C++, on constate que les ordres ne sont pas les mêmes (dans un
langage on fera un ini, dans un autre on fera un create...), ni les
paramètres. Ensuite, pour les DLL (à http://www2.tls.cena.fr/products/i vy/download/),
il y a des versions C, C++, C#, des jar... le tout dans des versions
différentes.

1. J'ai donc essayé d'attaquer directement la DLL installée par "ivy-c+
+-1.1-win32.msi <http://www2.tls.cena.fr/products/ivy/download/
packages/ivy-c++-1.1-win32.msi>, (1.1)" . Mais quand je l'attaque avec
Windev, je me fais jeter car MSVCP60D.dll est introuvable. Or, ceci
n'a pas été installé par le MSI.

2. Ensuite, j'ai essayé d'attaquer directement la "Ivy.dll <http://
www2.tls.cena.fr/products/ivy/download/packages/Ivy.dll>, Ivy DLL C#".
Là, rien ne marche. IvyInit, Init, init, create,... je me fais jeter.
Mais je pense que là c'est normal, vu que c'est un objet COM (oui ?).
Donc j'essaie de créer un objet COM à partir de ça, et là, que fair e ?
Windev demande la création d'objet COM et OLE de la façon suivante :
objTestIvy est un objet Automation dynamique
objTestIvy = allouer un objet Automation "XXXX" où XXXX est le
nom du serveur associé. Par exemple, j'utilise des objets OLE pour la
synthèse vocale, et ça donne :
objFileStream est un objet Automation dynamique
objVoice est un objet Automation dynamique
objFileStream = allouer un objet OLE("SAPI.SpFileStream")
objVoice = allouer un objet OLE("SAPI.SPVOICE")
objFileStream>>Format>>Type = 18
objFileStream>>Open(sFichierWav, 3, OLEFaux)
objVoice>>AudioOutputStream = objFileStream
...
donc le serveur ici est "SAPI.SpFileStream", "SAPI.SPVOICE"...
Mais pour notre cas avec Ivy, quel serveur utiliser avec la DLL C# ???
J'ai essayé "Ivy" ( "IvyBus"...même chose), ça ne marche pas. Le code
ci-dessous dit : L'objet automation 'Ivy' n'est pas installé sur votre
système.

objTestIvy est un objet Automation dynamique
objTestIvy = allouer un objet Automation "Ivy"

3. Ensuite, j'ai essayé d'attaquer la DLL installée depuis "com-
ivy.msi <http://www2.tls.cena.fr/products/ivy/download/packages/com-
ivy.msi>, Ivy COM component for Visual Basic for Applications (0.1) ".
Là, le répertoire créé contient un Ivy.dll et un comIvy.dll, et je
suppose que quelque chose a été installé par le MSI dans la base de
registre ou autre puisque le code ci-dessous semble fonctionner :
sNomDLL est une chaîne
sNomDLL = "C:Program FilesCenacomIvyIvy.dll" //.......... (si je
mets comIvy.dll ici, ça ne marche pas)
HndlLib=ChargeDLL(sNomDLL)
SI HndlLib=0 ALORS
Info("La Librairie n'est pas chargée")
SINON
Info("La Librairie est chargée")
objTestIvy est un objet Automation dynamique
objTestIvy = allouer un objet Automation
"comIvy.Bus" //......... (ça semble marcher, donc le comIvy a été
installé par le MSI, mais où ? et sans MSI, on doit le faire à la
main ? comment ?)
objTestIvy>>Create("IvyScript", "IvyScript Ready") // j'ai
trouvé un fichier VBScript dans le répertoire créé, et j'ai repiqu é le
code bêtement pour voir. Cette ligne s'exécute sans me jeter, mais
aucune idée du résultat produit (docu vide à ce sujet)
objTestIvy>>Bind( "(.*)", &maFonction) // par contre ici, je me
fais jeter. Nombre de paramètres incorrect. De plus, je fais ça à
l'aveuglette. Je sais qu'on doit déclarer un gestionnaire qui traitera
les messages déclarés ici. J'ai donc créé une fonction Windev
"maFonction", mais si je mets maFonction, Windev l'appelle directement
sur cette ligne (l'exécution à cet endroit ne devrait pas se
produire), et si je mets &maFonction (pour faire un pointeur dessus),
plantage.
objTestIvy>>Send( "ClockStart" ) // ne fait pas planter si
j'enlève la ligne précédente.
// Décharge la librairie
DéchargeDLL(HndlLib)
FIN

Mais avec cette DLL (objet COM ???), que dois-je faire et dans quel
ordre ? Create (params?), Init (?), Start(?), ... ? quand déclare-t-on
l'IP ? etc... aucune idée... mais si déjà j'arrivais à savoir comm ent
écrire les ordres + les passages de paramètres et les valeurs
retournées, je pense que je pourrais trouver des idées pour la


JC
Avatar
patrice
C'est bien les dll C ou C++ que tu doit utiliser.
Les dll manquantes viennent de vc++, tu peut essayer de les télécharger
un peu partout sur le net. Le seul truc bizarre, c'est que c'est une dll
de debug, donc en théorie, pas officiellement dispo.
(et il te faudra en plus msvcrtd.dll)

Autre solution, si y'a une version com ou automation, regarde si tu peux
pas y acceder via les routine pour objets ole

JC a écrit :
Désolé de revenir à la charge, mais je galère totalement...

Le souci est que la doc (http://www2.tls.cena.fr/products/ivy/
documentation/) est relative pauvre. Quand on regarde les exemples
Java et C++, on constate que les ordres ne sont pas les mêmes (dans un
langage on fera un ini, dans un autre on fera un create...), ni les
paramètres. Ensuite, pour les DLL (à http://www2.tls.cena.fr/products/ivy/download/),
il y a des versions C, C++, C#, des jar... le tout dans des versions
différentes.

1. J'ai donc essayé d'attaquer directement la DLL installée par "ivy-c+
+-1.1-win32.msi <http://www2.tls.cena.fr/products/ivy/download/
packages/ivy-c++-1.1-win32.msi>, (1.1)" . Mais quand je l'attaque avec
Windev, je me fais jeter car MSVCP60D.dll est introuvable. Or, ceci
n'a pas été installé par le MSI.

2. Ensuite, j'ai essayé d'attaquer directement la "Ivy.dll <http://
www2.tls.cena.fr/products/ivy/download/packages/Ivy.dll>, Ivy DLL C#".
Là, rien ne marche. IvyInit, Init, init, create,... je me fais jeter.
Mais je pense que là c'est normal, vu que c'est un objet COM (oui ?).
Donc j'essaie de créer un objet COM à partir de ça, et là, que faire ?
Windev demande la création d'objet COM et OLE de la façon suivante :
objTestIvy est un objet Automation dynamique
objTestIvy = allouer un objet Automation "XXXX" où XXXX est le
nom du serveur associé. Par exemple, j'utilise des objets OLE pour la
synthèse vocale, et ça donne :
objFileStream est un objet Automation dynamique
objVoice est un objet Automation dynamique
objFileStream = allouer un objet OLE("SAPI.SpFileStream")
objVoice = allouer un objet OLE("SAPI.SPVOICE")
objFileStream>>Format>>Type = 18
objFileStream>>Open(sFichierWav, 3, OLEFaux)
objVoice>>AudioOutputStream = objFileStream
...
donc le serveur ici est "SAPI.SpFileStream", "SAPI.SPVOICE"...
Mais pour notre cas avec Ivy, quel serveur utiliser avec la DLL C# ???
J'ai essayé "Ivy" ( "IvyBus"...même chose), ça ne marche pas. Le code
ci-dessous dit : L'objet automation 'Ivy' n'est pas installé sur votre
système.

objTestIvy est un objet Automation dynamique
objTestIvy = allouer un objet Automation "Ivy"

3. Ensuite, j'ai essayé d'attaquer la DLL installée depuis "com-
ivy.msi <http://www2.tls.cena.fr/products/ivy/download/packages/com-
ivy.msi>, Ivy COM component for Visual Basic for Applications (0.1) ".
Là, le répertoire créé contient un Ivy.dll et un comIvy.dll, et je
suppose que quelque chose a été installé par le MSI dans la base de
registre ou autre puisque le code ci-dessous semble fonctionner :
sNomDLL est une chaîne
sNomDLL = "C:Program FilesCenacomIvyIvy.dll" //.......... (si je
mets comIvy.dll ici, ça ne marche pas)
HndlLib=ChargeDLL(sNomDLL)
SI HndlLib=0 ALORS
Info("La Librairie n'est pas chargée")
SINON
Info("La Librairie est chargée")
objTestIvy est un objet Automation dynamique
objTestIvy = allouer un objet Automation
"comIvy.Bus" //......... (ça semble marcher, donc le comIvy a été
installé par le MSI, mais où ? et sans MSI, on doit le faire à la
main ? comment ?)
objTestIvy>>Create("IvyScript", "IvyScript Ready") // j'ai
trouvé un fichier VBScript dans le répertoire créé, et j'ai repiqué le
code bêtement pour voir. Cette ligne s'exécute sans me jeter, mais
aucune idée du résultat produit (docu vide à ce sujet)
objTestIvy>>Bind( "(.*)", &maFonction) // par contre ici, je me
fais jeter. Nombre de paramètres incorrect. De plus, je fais ça à
l'aveuglette. Je sais qu'on doit déclarer un gestionnaire qui traitera
les messages déclarés ici. J'ai donc créé une fonction Windev
"maFonction", mais si je mets maFonction, Windev l'appelle directement
sur cette ligne (l'exécution à cet endroit ne devrait pas se
produire), et si je mets &maFonction (pour faire un pointeur dessus),
plantage.
objTestIvy>>Send( "ClockStart" ) // ne fait pas planter si
j'enlève la ligne précédente.
// Décharge la librairie
DéchargeDLL(HndlLib)
FIN

Mais avec cette DLL (objet COM ???), que dois-je faire et dans quel
ordre ? Create (params?), Init (?), Start(?), ... ? quand déclare-t-on
l'IP ? etc... aucune idée... mais si déjà j'arrivais à savoir comment
écrire les ordres + les passages de paramètres et les valeurs
retournées, je pense que je pourrais trouver des idées pour la


JC


1 2