Affichage d'image dans un object OLE

neewby Messages postés 39 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 19 mai 2006 - 9 mai 2006 à 11:44
neewby Messages postés 39 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 19 mai 2006 - 17 mai 2006 à 15:31
Bonjour,



Je viens de reprendre un vieux programme fait par un ancien stagiaire,
il as été fait sous VB6 et est connecté a une BDD Access.

En gros j'ai une page avec des objets OLE dans lequel sont enregistrer
(Enregistrement de type Embedded) des images de tout format possibles à
l'aide de la fonction "InsertObjDlg". Le problème est qu'une fois
ajouté, l'image ne s'affiche pas ...



A la place on ne peut voir que l'icone et le nom du fichier ajouté. Le
seul moyen d'accèder a l'image est de double cliquer sur l'icone, ce
qui ouvre l'éditeur d'image par défaut. J'ai beau rafraichir les objet
OLE cela ne change rien.



En bref je voulais savoir si quelqu'un avait une solution a mon problème ...

Ou si quelqu'un a une autre méthode d'enregistrement et d'affichage des images dans un Objet OLE.

Merci d'avance parce que moi j'ai beau chercher, j'ai pas trouver de solution ...

3 réponses

neewby Messages postés 39 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 19 mai 2006
11 mai 2006 à 15:27
Personne a de solution ?
0
neewby Messages postés 39 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 19 mai 2006
15 mai 2006 à 16:55
En gros voila comment je rentre l'image dans la base de données :



Private Sub oleFields_DblClick(Index As Integer)



'Initialisation du CommonDialog

CD_image.FileName = ""

'Définition du filtre

CD_image.Filter = "Tous type de fichiers (*.*) | *.*"

'Récupération du fichier choisi

CD_image.ShowOpen



If CD_image.FileName <> "" Then

oleFields(Index).CreateEmbed (CD_image.FileName)

oleFields(Index).Refresh

End If

End Sub



Le problème reste qu'une fois rentrer j'ai beau actualiser mes objets OLE (oleFields(Index))
avec la fonction "refresh" rien n'y fait, je n'ais que l'icone de mon
image avec son nom ... et non pas un apercu de l'image ...



Si quelqu'un a une solution je serais aux anges, parce que c'est le
dernier problème qui me reste de mon appli ... alors la je commence a
saturé moi



Thank's All
0
neewby Messages postés 39 Date d'inscription mardi 18 avril 2006 Statut Membre Dernière intervention 19 mai 2006
17 mai 2006 à 15:31
J'ai presque trouvé la solution ... il me manque plus grand chose ...


Le problème est que sans précision l'image est enregistré comme un document "Package"
dans la base de donnée, et ne permet donc pas de faire un apercu. La
solution est donc d'insérer le document en précisant la classe de
l'objet.


Pour ma part il me faut une classe qui permet au minimum l'insertion d'images bitmap.


En gros la fonction est la suivante :

    CreateEmbed (SourceDoc As String, [Class] )


le problème est que j'ai beau mettre la classe "Paint.Picture" comme cela :

    OleFields.CreateEmbed(CD_image, Paint.Picture)


Mais Visual basic m'affiche un "Erreur de compilation:  Attendu: = " si je laisse ma ligne comme ca ... j'avoue ne pas comprendre ...

Si quelqu'un peut m'aider je suis pas contre parce que la je sature


si quelqu'un trouve avant moi je suis preneur


Thank's All
0
Rejoignez-nous