Ejecutar aplicacin en Mac

Tengo varias aplicaciones en una servidor de windows, donde los usuarios por medio de una aplicacin tipo men ingresan a las diferentes aplicaciones, en Windows y linux funciona, pero con Mac no se ejecuta.

Cuando las mac se inician se monta automticamente un volumen, donde estn las aplicaciones, una aplicacin tipo men tiene un ribbon con diferentes botones para cada aplicacin y cuando se presionan los botones hace un Launch, pero para Mac no funciona ni da error.

Este es el cdigo:

#if TargetMacOS then
’ para obtener el path ejecuto un GetOpenFolderItem y copio el path
f=GetFolderItem("/Volumes/apps/Modulos/invetario/Builds - invetario.xojo_binary_project/Mac OS X (Cocoa Intel)/invetario.app")

  if f.Exists then
    f.Launch
  end if 

#endif

Esta aplicacin tipo men es un lanzador y esta hecho en la versin 2014 r2, no puedo actualizarlo porque tiene unos componentes de terceros que en versiones superiores de xojo no corren.

Para probar si era la versin, hice aplicacin con un formulario en xojo 2015 r2.4 donde llamo la aplicacin de la misma manera pero no se ejecuta, ni lanza ningn error.

Prob utilizando GetTrueFolderItem tampoco funciona

Dim f, g as FolderItem
f=GetTrueFolderItem(TxtPath.Text) ’ contiene la ruta de la aplicacin obtenida mediante GetFolderItem

If f<> Nil Then
f.Launch
Else
’ Nunca pasa por aqu
MsgBox “No se encontr el archivo.”
End If

Cuando interactivo con GetOpenFolderItem, funciona sin problemas

f = GetOpenFolderItem(“app”)
f.Launch

Desde MAC XSO 10.10.5 y superiores, como puedo lanzar una aplicacin en el ambiente descrito anteriormente

Saludos.
Mauricio

Hola @Mauricio Pulla

Prueba a añadir el tipo de ruta en el constructor del FolderItem. Por ejemplo:

dim f as new FolderItem("/Applications/Xojo 2016 Release 4.1/xojo.app", FolderItem.PathTypeNative) f.Launch

Javier Rodríguez
Evangelista Xojo en Español, Desarrollador, Consultor y Formador Xojo
Autor del libro “Programación Multiplataforma Xojo
Autor del plug-in GuancheMOS para Xojo
Snippery para OS X: editor y gestor de fragmentos… ¡y más!

Tiene que escapar espacios con \. Y utilizar ShellPath.

GetFolderItem("/Applications/Xojo\\ 2016\\ Release\\ 4.1/xojo.app", FolderItem.PathTypeShell)

http://documentation.xojo.com/index.php/FolderItem.ShellPath

Hola @Michel Bujardet

El fragmento de código que he publicado en mi anterior respuesta está probado y funciona, sin escapar espacios y usando FolderItem.PathTypeNative (el que está deprecado es el que se utilizaba por omisión, sin asignación directa en el Constructor).

Javier

Bueno. my cdigo no le necessita de declarar f. Es mas simplo.

Bueno, en ese caso:

GetFolderItem("/Applications/Xojo 2016 Release 4.1/xojo.app", FolderItem.PathTypeNative).launch

No es necesario escapar los caracteres. Ms simple aun.

Javier

Claro. Gracias.

Hola Javier y Michael

Disculpas descuide el tema, pero ya lo haba resuelto como lo sugiere Javier

f=GetFolderItem("/Volumes/apps/Modulos/invetario/Builds - invetario.xojo_binary_project/Mac OS X (Cocoa Intel)/invetario.app", FolderItem.PathTypeNative)

Saludos
Mauricio