Intégrer le contenu d'une variable au Project en mode développement
SkyRocKo
Messages postés174Date d'inscriptionsamedi 10 mai 2003StatutMembreDernière intervention18 février 2006
-
5 mars 2005 à 16:18
SkyRocKo
Messages postés174Date d'inscriptionsamedi 10 mai 2003StatutMembreDernière intervention18 février 2006
-
6 mars 2005 à 21:43
Hello !
Je reconnais que le titre n'est pas super ! En fait, je développe un
OCX pour les GIF animés et il y a une propriété "Embed" qui permettrait
d'intégrer une image au Project.
Je m'explique : Mon OCX contient une fonction 'ExtractImages(buf As
String)' qui permet de charger le GIF à partir de ses octets, et comme
je l'ai dit, cette fameuse propriété 'Embed' qui fonctionne ainsi : Si
elle est réglée à 'False' en mode développement, les octets du fichier
source contenu dans 'FileName' ne sont pas sauvegardés au project... et
je voudrais que si 'Embed' est réglé à 'True', que les octets soient
sauvegardés dans la variable 'm_OctetsFile'.
Le problème réside dans le fait que quand on fait 'F5', les octets sont
bien stockés dans la variable mais celle-ci est déchargée une fois
qu'on quitte le prog... et je voudrais justement qu'ils soient encore
dans la variable, et que si on sauvegarde le project, qu'on le ferme et
le ré-ouvre, que la variable contienne encore les octets, ce qui n'est
pas le cas
Je n'aurais alors plus qu'à appeler la fonction 'ExtractImages' en lui passant les octets.
C'est exactement le même principe qu'avec une PictureBox : en mode
édition, on peut définir le fichier Image source et les octets sont
carrément intégré au programme (même à l'EXE une fois compilé). C'est
ce que je voudrais faire.
J'espère avoir été compréhensible
Merci d'avance !!!
SkyRocKo
A voir également:
Intégrer le contenu d'une variable au Project en mode développement
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 5 mars 2005 à 16:38
Salut
Tu peux sauver et relire le paramétrage de ton composant en utilisant les
UserControl_WriteProperties et
UserControl_ReadProperties
Regarde dans l'aide.
Vala
Jack
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
SkyRocKo
Messages postés174Date d'inscriptionsamedi 10 mai 2003StatutMembreDernière intervention18 février 2006 6 mars 2005 à 19:51
Hello jack
J'ai essayé, ça fonctionne en partie !
UserControl_WriteProperties sauvegarde bien la variable... mais pas en entier !
Il s'agit d'une variable de type String, je suis allé voir dans le
fichier .frm du project contenant l'OCX avec notepad et il y a ceci :
Begin Animated_GIF.AnimatedGIF AnimatedGIF1
AutoSize = 0 'False
AutoStart = -1 'True
BackColor = 12648447
BackStyle = 1
Embed = -1 'True
FileName = "c:\mon_fichier.gif"
Interval = 0
OctetsFile = "GIF89ax" <= Juste le header !!!
End
J'ai ouvert avec un éditeur hexadécimal le fichier GIF de mon project et il y a bien un Chr(0) après
"GIF89ax" comme je l'attendais. Je pense que la suite du fichier n'a donc pas été enregistré à cause du Chr(00)
SkyRocKo
Messages postés174Date d'inscriptionsamedi 10 mai 2003StatutMembreDernière intervention18 février 2006 6 mars 2005 à 21:43
J'ai regardé le fichier .frm d'un project utilisant un OCX du même
genre que le mien et qui lui, permet d'intégrer l'image GIF au project.
Le fichier Form1.frm contient ceci :
Begin GIF89LibCtl.Gif89a Gif89a1
Height = 1710
Left = 3360
OleObjectBlob = "FORM1.frx":0000 <= hehe !
TabIndex = 0
Top = 2880
Width = 1800
End
Apparemment, l'image est stockée dans le fichier "Form1.frx".
A quoi correspond 'OleObjectBlob'... et surtout, comment faire pareil en VB6
Comment est-ce faisable
Ca ferait grandement avancer le développement de l'OCX !!!