@FrançoisMerci pour cette réponse,il va falloir que je détaille tout ça
parce que, clairement, ça touche à des contrées que je n'ai pas explorées...
Y a-t-il l'équivalent des AppleEvents sous windows ?
@Stéphane
Pour préciser le contexte. Quelqu'un qui a développé
une base de données interrogeable via une interface web (sans doute
sous java) et multiplateforme
(Mac, Windows et
Linux) me propose d'utiliser mon soft développé sour RealBasic pour
s'en servir de "lecteur"
externe. L'idée est de prendre en charge des fichiers stokés et référencés
dans sa base en les ouvrant sous mon soft. Il faut que je le re-contacte
pour savoir s'il peut gérer les appleevents et si une telle solution
pourrait être portée sous Linux et Windows.
2009/7/11 Francois Van Lerberghe <fvanlerberghe@freegates.be>
> le 11/07/09 0:24, Franck Perez <perez.franck@gmail.com> a écrit :
>
> > Bonjour,
> >
> > je voudrais faire la chose suivante :
> > - Le programme A contient une liste de fichiers. Disons qu'il tourne en
> > Java sur un serveur Web
> > - Lorsque l'utilisateur clique sur un fichier, le programme A doit
> > lancer le Programme B pour qu'il lise ce fichier. Le programme B est
> > développé en RealBasic (Desktop, pas Console).
> > Ma question est la suivante : Y a-t-il un moyen de lancer une
> > application realbasic depuis un application tierce en ajoutant un
> > argument ? Si oui, comment et comment récupérer l'argument (ici le lien
> > sur le fichier) ? Comme dans le cas des "dropped files " ?
>
> Pour ma part, je fais comme pour "dropped file".
> Sous Mac OS, j'envoie un AppleEvent à partir de l'application A. Cette
> AppleEvent est géré dans l'event OpenDocument de la classe Application de
> l'application B :
>
> Dans l'application A :
>
> Sub OpenFileWith(fichier As FolderItem, applic As FolderItem)
> // Debut.: 14/04/2005
> // Fin...: 08/04/2008
> // Notes.: Ouvre le fichier passé avec l'application requise
>
> #IF targetMacOS
> dim success as Boolean
> dim errNumber As Integer
> dim errString, msgErr As String
> dim ae as AppleEvent
>
> if fichier <> nil AND fichier.exists then
>
> msgErr = "Impossible d'ouvrir le fichier "+fichier.absolutePath
>
> ae = NewAppleEvent("aevt", "odoc", "MACS")
> ae.FolderItemParam("----") = fichier
> if applic <> nil AND applic.exists then
> msgErr = msgErr + " avec l'application " + applic.absolutePath
> ae.FolderItemParam("usin") = applic
> end if
>
> if ae.send then
> if ae.replyInteger = 0 then
> success = True
> else
> errNumber = ae.replyInteger
> errString = ae.replyString
> msgErr = msgErr + "." + kCR + kCR + "Erreur "+str(errNumber) +"
> : "+errString
> alertReturn = Alert(stop, msgErr, 420)
> end if
> else
> errString = "La commande n'a pu être envoyée au système"
> msgErr = msgErr + "." + kCR + kCR + "Erreur : "+errString
> alertReturn = Alert(stop, msgErr, 420)
> end if
> end if
> #ELSE
> dim success as Boolean
> if fichier <> nil AND fichier.exists then
> success = OpenFileWin32( fichier, applic )
> end if
> #ENDIF
>
> End Sub
>
>
>
|