Forums Développement Multimédia

Aller au contenu

activex et clavier

Director

11 réponses à ce sujet

#1 bubarnet

  • Members
  • PipPipPipPipPipPipPipPip
  • 615 messages

Posté 19 January 2011 - 13:51 PM

Bonjour à tous.

Sur un gros projet qui nécessite l'utilisation d'un activex, j'ai été confronté à un gros soucis de clavier. Si un activex est présent sur la scène, alors les fonctions the keydownscript et the keyupscript ne recoivent plus aucun évènement clavier à partir d'un exe ! Ca fonctionne très bien dans l'ide de director mais plus rien dès qu'on passe par un projecteur.

Ca ne vient pas de mon activex (création maison) mais bien de n'importe quel activex. Ca doit venir du système de gestion de Windows.

Donc si quelqu'un a des infos ou des pistes pour résoudre ce problème (l'une des solutions serait l'existence d'un xtra capable de lire/écrire correctement les bases de données access, ie multi-utilisateurs et réseau)

Pour info : tester sur XP/vista/7 en 32 et 64 bits avec director mx2004 et 11.5

#2 bibou34

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 80 messages

Posté 19 January 2011 - 14:41 PM

Je ne comprends pas ton probleme ?

J'utilise très souvent des activeX et je n'ai jamais rencontré de probleme d'utilisation du clavier...

#3 bubarnet

  • Members
  • PipPipPipPipPipPipPipPip
  • 615 messages

Posté 19 January 2011 - 15:21 PM

Le problème vient de l'utilisation des fonctions the keydown/upscript="nom d'une fonction". Dans ce cas, tous les évènements clavier sont interceptés et envoyés à la fonction indiquée. Or si un activeX est présent, niet, qued, rien. La fonction n'est jamais appelée. Le problème ne survient de plus qu'en projecteur, ce qui fait que je ne m'en suis pas aperçu de suite et qu'il a été très difficile de comprendre le pourquoi du comment.

#4 bibou34

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 80 messages

Posté 19 January 2011 - 15:44 PM

est-ce que ton activeX occupe toute ta scéne ou bien comme je les utilise généralement, je les place en dehors de ma scene avec un chevauchement d'un pixel sur la scene et j'utilise leurs fonctions?

peux-tu mettre un .dir en demo de ton activeX (sans tes codes...) pour tester?

#5 bubarnet

  • Members
  • PipPipPipPipPipPipPipPip
  • 615 messages

Posté 19 January 2011 - 17:11 PM

j'ai essayé avec l'activex sur la scène et en dehors (ce qui est le cas normalement). J'ai essayé avec d'autres activex (un peu de tout, avec interface visuelle ou juste de programmation) et ça ne marche jamais.

Je vais avoir du mal à envoyer un ex, il faudrait avoir le même activex que moi. Mais c'est très simple à reproduire.

Dans un nouveau .dir, incorporer un activex quelconque et le mettre sur la timeline.
Ensuite un simple script d'animation :
on startmovie
the keydownscript="testclavier"
end

on testclavier
alert "OK"
end

Dans l'ide, chaque appui sur une touche fait apparaître l'alert.
Créer et lancer l'exe. Aucune alert

#6 bibou34

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 80 messages

Posté 20 January 2011 - 11:45 AM

effectivement, je reproduit ce bug.

je ne l'avais jamais remarqué n'utilisant pas cette fonction (keydownscript).

Concernant un extra base de donnée access et autres, j'utilise "VbScriptXtra" ou "DataLinker" sans soucis depuis des années.

#7 Leedoriden

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 4350 messages

Posté 21 January 2011 - 02:24 AM

Hello Bubar

1) comme constaté en mode IDE Director cela fonctionne focus ou non sur l'activeX
2) en mode Projection ( EXE non shockwave ) le problème se produit si l'activeX n'a pas le focus ( keydownscript non interprété )
cela fonctionne si celui-ci a le focus, le msg d'alerte s'affiche ;) ( keydownscript interprété )

[EDIT] info un peu redondante mais bon...
Pour info voir fichier image pour explication
[attachment=1250:mb_keydownscript.jpg]

lorsque je clique sur la zone grise ( stage ), et j'appuie sur la barre d'espace par exemple, le msg Alert ne s'affiche pas
lorsque je clique désormais sur le zone blanche, qui représente mon ActiveX ( ici Quicktime Control 2.0 ), Keydonwscript est interprété en appuyant de nouveau sur la barre d'espace

#8 Leedoriden

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 4350 messages

Posté 21 January 2011 - 02:53 AM

Au démarrage de l'EXE, on peut palier au problème avec _movie.keyboardFocusSprite=0 dans un startmovie
là quelque soit la touche pressée, le msg apparait.

le souci est une fois encore la perte du focus de l'activeX, un clic sur le stage ou sur le bouton OK, le keydownscript n'est plus interprété :(

Edit :
A nouveau, ajouter _movie.keyboardFocusSprite=0 dans la fonction qui appelle l'alert
lorsque l'on clique sur le Bouton OK, on peut employer le clavier à volonté, que je clique sur la zone blanche de mon exemple ou le stage, Keydownscript est appelé.

voici le code du moviescript

on startmovie
  the keydownscript="testclavier"
  _movie.keyboardFocusSprite=0  
end

on testclavier
  _player.alert("OK")
  _movie.keyboardFocusSprite=0  
end

sur la timeline j'ai juste un behavior

on exitframe
 go(_movie.frame)
end

oops !
un autre problème a lieu avec les zones d'édition éditables
il est fort possible qu'on ne puisse plus écrire dedans

Après tests effectivement c'est le cas :(

#9 bubarnet

  • Members
  • PipPipPipPipPipPipPipPip
  • 615 messages

Posté 22 January 2011 - 20:44 PM

merci à Bibou34 pour les xtras et SUPER MERCI à Leedoriden pour sa solution qui semble marcher à la perfection ! Mes utilisateurs vont te remercier grandement, la solution que j'avais fonctionnait mais au ralenti (scan en continu du clavier, lent et sans bufferisation possible).

Je ne connaissais pas cette fonction keyboardfocussprite. Il faut bien penser à tout ce qui peut faire perdre le focus. Donc les fonctions alert, mais aussi celles qui affichent toutes sortes de fenêtres (sélection de fichier, ...). Et également le fait de cliquer en dehors puis en dedans du projecteur.

Pour les champs éditables, ce n'est pas très grave pour moi, vu que je les gère d'une manière très différente.

#10 Leedoriden

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 4350 messages

Posté 18 January 2012 - 13:25 PM

Hello Bubar

voilà presque un an de passé, tes utilisateurs sont-ils satisfaits de cette astuce ?

_movie.keyboardFocusSprite=0

j'imagine que depuis le temps :D

Citation

il n'y a plus grand animation sur Dir forum !


#11 bubarnet

  • Members
  • PipPipPipPipPipPipPipPip
  • 615 messages

Posté 18 January 2012 - 17:35 PM

Oulà, j'avais complètement oublié ce sujet :)

En fait, ça ne marche pas du tout : au bout de quelques appels à keyboardFocusSprite, ça me plantait l'appli.
J'ai préféré me passer de l'xtra activeX pour utiliser activecompanionset, qui marche très bien.

Sinon, le forum semble refléter l'état de director en ce moment (quelqu'un a des news d'un éventuel director 12 ?)

Modifié par bubarnet, 18 January 2012 - 17:38 PM.


#12 Leedoriden

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 4350 messages

Posté 19 January 2012 - 02:17 AM

Voir le messagebubarnet, le 18 January 2012 - 17:35 PM, dit :

(quelqu'un a des news d'un éventuel director 12 ?)

on raconte des choses :) sur Adobe



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP