Type BSTR en WinDev

Posté par PopolDal le 15/2/2008 17:11:39
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

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=14&topic_id=5699&post_id=23228