Bonjour à tous, j'ai un problème avec un argument lors d'un appel d'une méthode Ole automation
Lors de l'exécution du code suivant:
FicATrt est chaine
FicATrt="C:\Temp\Test.tif"
ImageDoc = Engine>>PrepareAndOpenImage(FicATrt)
J'obtiens l'erreur WinDev suivante:
Vous avez appelé la méthode Automation 'PrepareAndOpenImage'.
En tentant d'invoquer la méthode <PrepareAndOpenImage> ou de lire la propriété <PrepareAndOpenImage>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80020005, Type incorrect pour le paramètre 1'
En tentant d'invoquer la méthode <PrepareAndOpenImage>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80020005, Type incorrect pour le paramètre 1'
En tentant de lire la propriété <PrepareAndOpenImage>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80020003, Le membre demandé n'existe pas'
En tentant d'écrire la propriété <PrepareAndOpenImage>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80020003, Le membre demandé n'existe pas'
Lorsque je regarde la fonction avec l'aide du OLE-COM Object Viewer de Visual Studio 2008 j'obtiens ceci:
IImageDocument* PrepareAndOpenImage(
[in] BSTR FileName,
[in, optional, defaultvalue(0)]
IPrepareImageMode* PrepareMode,
[in, optional, defaultvalue(0)] IImagePasswordCallback* passwordCallback,
[in, out, optional, defaultvalue(0)] IDocumentInfo** pdfInfo);
Je vois que le 1er argument (le nom du fichier à traiter) est de type BSTR. Comment fait-on en WinDev pour passer un argument de ce type?
À noter que le même test en VB fonctionne avec ce code:
ImageDoc = Engine.PrepareAndOpenImage("C:\Temp\Test.tif")
Merci à l'avance à tous ceux qui pourront m'aider...
PS: Super site en passant, j'viens de le découvrir voilà seulement quelques jours et c'est vraiment complet et utile. Bravo