|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Re: LoadPicture ( Charger une image dans un activex ) |
Débuté par Philippe Pasquali, 19 déc. 2006 09:57 - 6 réponses |
| |
| | | |
|
| |
Posté le 19 décembre 2006 - 09:57 |
Bonjour j'ai fait un petit tour sur MSDN : http://msdn.microsoft.com/library/default.asp… le premier paramétre est "LPOLESTR szURLorPath" et le second "LPUNKNOWN punkCaller" Hors en général quand µ$oft utilise "LP...." c'est un pointeur
donc j'essayerais API("oleaut32.dll","OleLoadPicturePath",&szURLorPath , &punkCaller , dwReserved , clrReserved , IID , &oPicture )
Pour info au lieu de faire "szURLorPath est une chaîne" puis "szURLorPath = strFileName+Caract(0)" fait "szURLorPath est une chaîne asciiz sur 1024 = strFileName" c'est plus simple et tu ne risque pas d'oublier le 0x00 terminal vu qu'il y est par défaut.
"Aurélia" <Aure_chark@yahoo.fr> a écrit dans le message de news: 4586bd46$1@news.pcsoft.fr...
Bonjour,
Je cherche l'équivalent de la fonction LoadPicture de VB en Windev10. Il s'agit de charger une image dans l'activex ADDFLOW.
Merci d'avance pour vos solutions. Aurélia
PS:
Voici une tentative de traduction de cette fonction prise dans un autre forum, mais elle ne fonctionne pas:
//////////////////////////////////////////////////////////// PROCEDURE LoadPicture(strFileName est une chaîne)
TGUID est une structure Data1 est un entier sur 4 octets Data2 est un entier sur 2 octets Data3 est un entier sur 2 octets Data4 est un tableau fixe de 8 entiers sur 1 octets FIN
szURLorPath est une chaîne punkCaller est un entier sur 4 octets dwReserved est un entier sur 4 octets clrReserved est un entier sur 4 octets oPicture est un objet Automation dynamique IID est un TGUID
szURLorPath = 0 punkCaller = 0 dwReserved = 0
oPicture = Null IID:Data1 = 2079852928 IID:Data2 = 48946 IID:Data3 = 4122 IID:Data4[1] = 139 IID:Data4[2] = 187 IID:Data4[3] = 0 IID:Data4[4] = 170 IID:Data4[5] = 0 IID:Data4[6] = 48 IID:Data4[7] = 12 IID:Data4[8] = 171
szURLorPath = strFileName+Caract(0) API("oleaut32.dll","OleLoadPicturePath",szURLorPath , punkCaller , dwReserved , &clrReserved , &IID , &oPicture ) RENVOYER oPicture
////////////////////////////////////////////////////////////
|
| |
| |
| | | |
|
| | |
| |
Posté le 19 décembre 2006 - 18:04 |
Merci Philippe pour ta recherche. ça ne marche toujours pas. Les API, ce n'est pas très simple avec Windev.
Bonnes Fêtes Auréia |
| |
| |
| | | |
|
| | |
| |
Posté le 19 décembre 2006 - 19:28 |
Bonsoir au fait tu cherches à faire quoi exectement avec cette fonction ?
"Aurélia" <Aure_chark@yahoo.fr> a écrit dans le message de news: 45880cbf$1@news.pcsoft.fr...
Merci Philippe pour ta recherche. ça ne marche toujours pas. Les API, ce n'est pas très simple avec Windev.
Bonnes Fêtes Auréia
|
| |
| |
| | | |
|
| | |
| |
Posté le 19 décembre 2006 - 19:29 |
Bon je crois avoir trouvé
PROCEDURE Test()
TGUID est une structure Data1 est un entier sur 4 octets Data2 est un entier sur 2 octets Data3 est un entier sur 2 octets Data4 est un tableau fixe de 8 entiers sur 1 octets END
//-------------------------------------------------------- // C'EST ICI QU'EST LA GROSSE MODIFICATION //-------------------------------------------------------- Path est une chaîne ASCIIZ sur 1024 = "C:\WINDOWS\anemones.bmp" szURLorPath est une chaîne UNICODE sur 2048 = AnsiVersUnicode(Path)
ppvRet est un entier sur 4 octets = 0 IID est un TGUID oPicture est un objet Automation dynamique retAPI est un entier sans signe sur 4 octets
oPicture = Null IID:Data1 = 0x7BF80980 IID:Data2 = 0xBF32 IID:Data3 = 0x101A IID:Data4[1] = 0x8B IID:Data4[2] = 0xBB IID:Data4[3] = 0x00 IID:Data4[4] = 0xAA IID:Data4[5] = 0x00 IID:Data4[6] = 0x30 IID:Data4[7] = 0x0C IID:Data4[8] = 0xAB
// Liste des codes erreur // S_OK = 0x00000000 // E_POINTER = 0x80004003 // E_NOINTERFACE = 0x80004002 // E_OUTOFMEMORY = 0x8007000E // E_UNEXPECTED = 0x8000FFFF retAPI = API("oleaut32.dll", "OleLoadPicturePath", &szURLorPath, 0x0, 0x0, 0x0, &IID, &ppvRet) IF retAPI = 0x0 THEN info("OK") else erreur("Me...") END
ppvRet contient bien une adresse.........mais aprés, je ne sais pas se kil fo faire !
"Aurélia" <Aure_chark@yahoo.fr> a écrit dans le message de news: 45880cbf$1@news.pcsoft.fr...
Merci Philippe pour ta recherche. ça ne marche toujours pas. Les API, ce n'est pas très simple avec Windev.
Bonnes Fêtes Auréia
|
| |
| |
| | | |
|
| | |
| |
Posté le 20 décembre 2006 - 00:28 |
Merci beaucoup Philippe. J'ai essayé et effectivement et il n'y a pas d'erreur. Mais la fonction doit renvoyer un Objet automation:
LoadPicture doit transformer un fichier image en objet OLE.
Node1>>Picture = LoadPicture("C:\WINDOWS\anemones.bmp")
Donc en renvoyant ppvRet , j'ai l'erreur suivante:
Vous accédez au membre Automation Picture. Erreur 80020005, Type incorrect pour le paramètre -1303343 Erreur 80020005, Type incorrect pour le paramètre 1
Je pense que la solution se profile à l'horizon...
Merci encore |
| |
| |
| | | |
|
| | |
| |
Posté le 20 décembre 2006 - 12:01 |
Bonjour Je viens de faire le test avec la version d'évaluation et effectivement ca ne roule pas... Dans l'aide de ADDFLOW il n'y a pas d'exemple en C++ Je pense qu'il faudrait envoyer un mail à ton fournisseur pour avoir un exemple en C++
Des que j'aurais un peut de temps de libre je ferais des recherches sur internet
"Aurélia" <guest@newsgroup.fr> a écrit dans le message de news: 45886120$1@news.pcsoft.fr...
Merci beaucoup Philippe. J'ai essayé et effectivement et il n'y a pas d'erreur. Mais la fonction doit renvoyer un Objet automation:
LoadPicture doit transformer un fichier image en objet OLE.
Node1>>Picture = LoadPicture("C:\WINDOWS\anemones.bmp")
Donc en renvoyant ppvRet , j'ai l'erreur suivante:
Vous accédez au membre Automation Picture. Erreur 80020005, Type incorrect pour le paramètre -1303343 Erreur 80020005, Type incorrect pour le paramètre 1
Je pense que la solution se profile à l'horizon...
Merci encore
|
| |
| |
| | | |
|
| | |
| |
Posté le 20 décembre 2006 - 16:18 |
Bonjour,
Dans le répertoire \Samples\ il y a 2 projets en VC++. J ai déjà contacté Patrick Lassalle ( www.Lassalle.com ), mais il ne connait pas Windev. Et justemet il recommande de programmer en Windev une fonction équivalente à LaodPicture de VB. D ailleurs beaucoup d Activex ont recours à cette fonction pour charger des images externes.
Après une recherche sur Internet, cette question revient souvent chez des utilisateurs de Windev mais la solution n'a pas encore été trouvée.
Merci pour ton aide. Si tu y arrives, tu seras champion du monde!!!! |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|