Meilleur auteur de réponses
Insérer un Compléments COM dans un windows form.

Question
-
Logiciel utilisé : Visual Studio C++ 2010 express
Système exploitation : Windows 7 ( 64 bits )Problème : je voudrai insérer dans un windows form un contrôle permettant de lire des fichier Flash ( .swf )
Ce que j'ai fait :
Dans ma windows form :
j'ai insérer avec la boîte à outils le composant Shockwave Flash Object ( Composants COM Flash32_16_0_0_235.ocx )
J' insérer un bouton pour lire un fichier
code : private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)
{
axShockwaveFlash1->Movie = "./Data/Aide.swf";
axShockwaveFlash1->Play();
}
Pas d'erreur lors de la compilation.
Pendant l'exécution, rien ne se passe lorsque je clique sur le bouton "button2".
MJ
Réponses
-
je pense avoir trouvé une solution.
Le fichier Aide.swf se trouve sur mon disque dur. Il faut utiliser le chemin absolu de ce fichier.
Mon code :
private : System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)
{
axShockwaveFlash1->Movie = "D:/Projets/Projects/Video/Video/Data/Aide.swf";
axShockwaveFlash1->Play();
}
Cela fonctionne parfaitement.
Remarque : la deuxième instruction est même inutile.
MJ
Toutes les réponses
-
-
Je ne pense avoir de problème de compatibilité.
Pour plus d'information :
La windows form qui contient le Composant COM est affichée en utilisant la méthode ShowDialog().
En déboguant dans VS, je n'ai pas de message d'erreur :
Voila ce que j'obtient :
'Video.exe' (Managé (v4.0.30319)) : 'C:\windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll' chargé
'Video.exe' (Managé (v4.0.30319)) : 'D:\Projets\Projects\Video\Debug\Video.exe' chargé, symboles chargés.
'Video.exe' (Managé (v4.0.30319)) : 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll' chargé
'Video.exe' (Managé (v4.0.30319)) : 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll' chargé
'Video.exe' (Managé (v4.0.30319)) : 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll' chargé
'Video.exe' (Managé (v4.0.30319)) : 'D:\Projets\Projects\Video\Debug\AxInterop.ShockwaveFlashObjects.1.0.dll' chargé
'Video.exe' (Managé (v4.0.30319)) : 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_fr_b77a5c561934e089\mscorlib.resources.dll' chargé
'Video.exe' (Managé (v4.0.30319)) : 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms.resources\v4.0_4.0.0.0_fr_b77a5c561934e089\System.Windows.Forms.resources.dll' chargé
'Video.exe' (Managé (v4.0.30319)) : 'D:\Projets\Projects\Video\Debug\Interop.ShockwaveFlashObjects.1.0.dll' chargé
'Video.exe' (Managé (v4.0.30319)) : 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0.0__b03f5f7f11d50a3a\Accessibility.dll' chargé
Le programme '[6044] Video.exe: Managé (v4.0.30319)' s'est arrêté avec le code 0 (0x0).MJ
-
je pense avoir trouvé une solution.
Le fichier Aide.swf se trouve sur mon disque dur. Il faut utiliser le chemin absolu de ce fichier.
Mon code :
private : System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)
{
axShockwaveFlash1->Movie = "D:/Projets/Projects/Video/Video/Data/Aide.swf";
axShockwaveFlash1->Play();
}
Cela fonctionne parfaitement.
Remarque : la deuxième instruction est même inutile.
MJ
-