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

Re: Demarrage avec argument

To: REALbasic NUG French <realbasic-nug.fr@lists.realsoftware.com>
Subject: Re: Demarrage avec argument
From: Francois Van Lerberghe <fvanlerberghe@freegates.be>
Date: Sat, 11 Jul 2009 10:10:38 +0200
Authentication-results: mx.google.com; spf=neutral (google.com: 74.124.194.228 is neither permitted nor denied by best guess record for domain of realbasic-nug.fr-bounces@lists.realsoftware.com) smtp.mail=realbasic-nug.fr-bounces@lists.realsoftware.com; dkim=hardfail header.i=@scarlet.be
Delivered-to: listarchive@realsoftware.com
Dkim-signature: v=1; a=rsa-sha256; c=simple/simple; d=scarlet.be; s=scarlet; t=1247299829; bh=EwZSEVV0DsnG7uG4DHz4wPE7+LAmMO7gGUm8jOC0g80=; h=Date:Subject:From:To:Message-ID:In-Reply-To:Mime-version: Content-type:Content-transfer-encoding; b=vMvoanaZK+ue9rbN2ozr2+nrcYU4hkpmjhUQhbfI28MqBXS0YkLSNyR+KNtH/539M OuojSi++OAPKKVaeMho/WAp93Bh7ZQbWok9jahcTmSfs3pYZ0sJOmWPuH8Py7kvRKo +P4/0jJfbObXbScDncvAeaMe2tAX/qCitYhNPFUo=
In-reply-to: <4A57BF8C.7020905@gmail.com>
Reply-to: REALbasic NUG French <realbasic-nug.fr@lists.realsoftware.com>
Sender: realbasic-nug.fr-bounces@lists.realsoftware.com
User-agent: Microsoft-Entourage/10.0.0.1309
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




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