realbasic-nug.fr
[Top] [All Lists]

Re: Se mettre devant

To: REALbasic NUG French <realbasic-nug dot fr at lists dot realsoftware dot com>
Subject: Re: Se mettre devant
From: frael <frael at marine-label dot com>
Date: Thu, 8 Feb 2007 23:00:36 +0100
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug dot fr at lists dot realsoftware dot com
References: <ABF93486-7F94-47CA-A546-5AB4E736AD35 at marine-label dot com> <E28BD4EE-9921-43F9-A215-8A6EF30EBD6F at tribu dot ch> <52883641-6AA9-41B0-8FC6-1DFF413BEB57 at free dot fr> <01989EB7-E1F3-44C4-BA27-46E36EEB426B at tribu dot ch>

Apres pas mal d'essais (merci pour les idées !) je suis revenu à Lappli.Launch de REALbasic (à partir d'une autre appli bien sûr), qui n'a pas de time out, et qui passe Lappli devant très convenablement
En plus ca marche aussi sur Win, pas que sur Mac
Le seul défaut sur Win c'est qu'il relance Lappli à chaque fois même si elle est déjà lancée, ca fait plein d'instances... il faut donc penser à les quitter dès que leur boulot est fini

Marc

--------------------------------------------------------


Le 6 févr. 07 à 13:09, Arnaud Nicolet a écrit :

Vous avez raison: utiliser un "Declare" est bien mieux qu'un AppleEvent (ou AppleScript, c'est au fond pareil).

Le 6 févr. 07 à 07:14 Matin, Baptiste Laget a écrit:

Bonjour,
Il existe une solution en passant par Carbon,
http://kevin.sb.org/articles/2003/11/11/realbasic-global-hotkey- example C'est au départ un script pour utiliser des touches de commande, mais il inclut un petit bout de code qui ramène l'application au premier plan. La méthode est SendAppToFront. N'oubliez pas de remplacer CarbonLib par Cabon :-)

Baptiste
Le 5 févr. 07 à 23:55, Arnaud Nicolet a écrit :

Bonjour,

je ne suis pas sûr de la raison du blocage, mais avez-vous le même problème en utilisant l'équivalent, en AppleEvent:

  dim ae As AppleEvent

ae=NewAppleEvent("misc","actv","") 'Laisser vide le 3ème paramètre pour que l'application ciblée soit elle-même ae.Timeout=5 'L'événement n'étant pas complexe, on peut imaginer qu'au bout de 5 secondes, le délai est dépassé (on ne voudrait pas bloquer l'application pour 2 minutes, juste pour l'activation).
  if not ae.Send then
  end

Quand à Win32, désolé, je ne connais pas...

Le 5 févr. 07 à 16:35 Soir, frael a écrit:

Bonjour

J'ai une appli graphique qui dort tranquillement au fond du Mac ou du PC (elle est lancée) Tout d'un coup elle veut passer au premier plan, pour une raison qui lui est propre: comment faire ?

- sur Mac j'ai essayé d'appeler un script genre
on run {Lapp}
        tell application Lapp
                activate
        end tell
end run
ça marche mais ca se bloque souvent ... un certain temps (de qqs secondes à qqs minutes, je ne sais pas pourquoi)

- sur Win j'ai essayé avec SetForegroundWindow des Windows Utilities, mais ca ne fait rien

Dic si qqn avait une idée ce serait super !

Marc









<Prev in Thread] Current Thread [Next in Thread>