Effectivement FSCommand doit probablement marcher pour peu qu'on s'en serve bien.
J'ai finalement trouvé une solution plus appropriée à Flash 8+ alors autant l'expliquer vite fait au cas où d'autres auraient le même problème que moi dans le futur: la classe ExternalInterface. Depuis le fichier SWF, on enregistre une fonction AS2 comme pouvant être appelée par le conteneur (le programme VB dans mon cas).
flash.external.ExternalInterface.addCallBack("IDFonctionDésignée", null, NomFonctionDésignée)
Après il suffit de l'appeler dans VB avec
objFlash.CallFunction("<invoke name=""IDFonctionDésignée"" returntype=""xml""><arguments><TypeDonnéeAS2>ValeurDonnéeAS2</TypeDonnéeAS2></arguments></invoke>")
Et voilà. Les trucs en gras sont des noms à modifier selon la situation. Sinon pour faire l'inverse, c'est à dire appeler une fonction VB depuis un fichier SWF, il faut utiliser ExternalInterface.call en AS2 et objFlash.FlashCall en VB
Maintenant j'ai un autre petit problème, étant nul en VB je ne sais pas comment ajouter une ressource (un fichier .swf) à mon programmeVB.exe final afin qu'il n'y ait qu'un seul fichier à distribuer au lieu de deux.
Je connais déjà la propriété EmbedMovie de l'objet ShockwaveFlash, mais je ne peux pas la mettre sur True étant donné que le principal fichier SWF est chargé depuis le net et communique régulièrement, bref EmbedMovie=True l'empêcherait de fonctionner.
Le fichier SWF secondaire que je veux ajouter en ressource sera en fait chargé dynamiquement au fichier principal, autrement dit il n'aura pas sa propre propriété EmbedMovie; Il partagera celle du fichier principal qui doit nécessairement rester False. Comment dans ce cas inclure ce fichier SWF secondaire au vb.exe final ? Et une fois inclus, comment récupérer son chemin et nom pour pouvoir agir dessus ? Dans l'idéal j'aimerai ne pas avoir à créer un deuxième objet ShockwaveFlash, le second SWF n'a pas besoin d'interface graphique...
Merci pour l'aide ![:)](https://www.developpez.net/forums/images/smilies/icon_smile.gif)
Je n'ai pas trouvé de réponse dans les FAQs, mais je suis peut etre devenu à moitié aveugle à force de rechercher à travers tout internet. :p
Partager