Iniciando con Mac

ramirezosvaldo
Posts: 101
Joined: Mon Oct 10, 2005 6:48 pm
Location: Cd. Juarez Chihuahua
Contact:

Post by ramirezosvaldo »

Antonio

Tengo programa llamado init_var.prg en el cual utilizo funciones como curdir(), Fclose(), fCreate(), etc,etc.
Pues bien, lo compile y genera una lib en base a dicho programa y me genero bien mi lib.

Ahora realizo mis test con otro programa y mando llamar una funcion q esta en la lib ( Puse la lib en el build.sh ) y me mana lo siguiente:

/usr/bin/ld: Undefined symbol
_HB_FUN_CURDIR
_HB_FUN_FCLOSE
_HB_FUN_FCREATE

...

Y Al final me manda un :

./build.sh: Line 39: ./system01.app/Contents/MacOS/system01: No such file or director.

Mi pregunta es como puedo generar mi lib, para q me incluya esas funciones que son parte de harbour ? odonde se incluyen estas ?

Saludos
Osvaldo Ramirez
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Osvaldo,

Posiblemente tengas que enlazar tu librería antes de las de Harbour.

No la pongas la última. Ponla despues de las de FiveMac y antes de las de harbour
regards, saludos

Antonio Linares
www.fivetechsoft.com
ramirezosvaldo
Posts: 101
Joined: Mon Oct 10, 2005 6:48 pm
Location: Cd. Juarez Chihuahua
Contact:

Post by ramirezosvaldo »

Antonio

Lo de la lib hay la llevo, pues he creado ya una lib y la enlaza sin ningun problema

Ahora, tienes timers ?
Pues puse algo asi DEFINE TIMER ...
Pero me marca error de syntaxis, y vi el fivemac.ch y no esta.

Que uso para en lugar de timers, que lo que quiero es que mi app, corra difeentes procesos en base a la hora.

Ahora dime, que has visto de los errores al mover una app de su folder de creacion inicia ?, tal ves usando chmod ?

Saludos
Osvaldo Ramirez
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Osvaldo,

A ver si tenemos terminados los timers cuanto antes.

En cuanto a mover la aplicación, posiblemente depende de los privilegios que tengas como usuario. Prueba a acceder como root (administrador) y podrás hacer lo que quieras :-)

Puedes activar el root desde Applications/Utilities/NetInfo Manager y luego cambias de usuario e inicias como root y la contraseña que le hayas asignado
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Osvaldo,

Ya está terminado el soporte de Timers en FiveMac.

Hay un nuevo build listo para descargar. La sintaxis es exactamente la misma que en FiveWin, de hecho el ejemplo samples/TestTime.prg es el mismo :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
ramirezosvaldo
Posts: 101
Joined: Mon Oct 10, 2005 6:48 pm
Location: Cd. Juarez Chihuahua
Contact:

Post by ramirezosvaldo »

Muchas gracias, probare lo de timers y lo de mover la app con otro usuario.

Solo dime, por que la app se crea dentro de los folders ?

Saludos
Osvaldo Ramirez
ramirezosvaldo
Posts: 101
Joined: Mon Oct 10, 2005 6:48 pm
Location: Cd. Juarez Chihuahua
Contact:

Post by ramirezosvaldo »

El INTERVAL no funciona o mas bien mi pregunta es q valor debe ir ?

Saludos
Osvaldo Ramirez
ramirezosvaldo
Posts: 101
Joined: Mon Oct 10, 2005 6:48 pm
Location: Cd. Juarez Chihuahua
Contact:

Post by ramirezosvaldo »

Si estoy en la ventala del timer y selecciono el menu, el timer el cual muestra la hora, se detiene, no continua, eso significa que el timer esta corriendo dentro del loop de eventos o no corre independientemente .. ?

Estoy haciendo algo mal ?

Saludos
Osvaldo Ramirez

#include "FiveMac.ch"

static oWnd, oTimer

//----------------------------------------------------------------------------//

function Main()

BuildMenu()

DEFINE WINDOW oWnd FROM 200, 200 TO 600, 400 ;
TITLE "Testing timers"
DEFINE TIMER oTmr INTERVAL 180 ACTION CheckFile(oWnd)
ACTIVATE TIMER oTmr

ACTIVATE WINDOW oWnd

return nil


function CheckFile( oWnd )
oWnd:Settext(time())
return nil


//----------------------------------------------------------------------------//

function BuildMenu()

local oMenu

MENU oMenu
MENUITEM "Apple"
MENU
MENUITEM "Build a Timer" ACTION Timers()
SEPARATOR
MENUITEM "Bye, bye..." ;
ACTION ( oTimer:End(), MsgInfo( "Timer end" ), oWnd:End() )
ENDMENU
ENDMENU

return oMenu

//----------------------------------------------------------------------------//

function Timers()

if oTimer == nil
DEFINE TIMER oTimer ACTION oWnd:SetText( Time() )

ACTIVATE TIMER oTimer
else
MsgAlert( "There is already a working timer..." )
endif

return nil

//----------------------------------------------------------------------------//
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Osvaldo,

> Solo dime, por que la app se crea dentro de los folders ?

Es un diseño propio de OSX. Tiene que ser así
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Osvaldo,

Tu ejemplo funciona bien aqui en OSX 10.4.8

Que versión de OSX estás usando ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
ramirezosvaldo
Posts: 101
Joined: Mon Oct 10, 2005 6:48 pm
Location: Cd. Juarez Chihuahua
Contact:

Post by ramirezosvaldo »

Estoy usando la version 10.4.7

Y si corre bien, solo que digo que se detiene el timer y vuelve a re-iniciar, esto solamente si estoy seleccionado algo del menu.

Dime, el timer esta dentro del loop de eventos principal o corre independientemente ?

Saludos
Osvaldo Ramirez
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Osvaldo,

Ya veo lo que dices: que mientras un item del menú está seleccionado, el título de la ventana no cambia :-)

En realidad es que no la está repintando, pero el timer sigue corriendo bien, ya que al dejar de pulsar el item el reloj está bien actualizado

OSX es más sofisticado que Windows. No existe un loop de eventos como tal, y es 100% orientado a objetos, no como Windows que es una pseudo programación orientada a objetos.

De hecho el lenguaje que usa Cocoa, el GUI de OSX, es Objective-C que es una variante de C con objetos, distinta al C++
regards, saludos

Antonio Linares
www.fivetechsoft.com
ramirezosvaldo
Posts: 101
Joined: Mon Oct 10, 2005 6:48 pm
Location: Cd. Juarez Chihuahua
Contact:

Post by ramirezosvaldo »

Antonio.

Cuando creo la app, desde build.sh y esta se ejecuta, la funcion curdir() me devuelve bin, pero si dicha app, la corro desde el "explorer" de mac, me devuelve vacio.

ejemplo

procedure main
msginfo( curdir() )
return

Saludos
Osvaldo Ramirez
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Osvaldo,

ya hemos reportado el asunto del CurDir() a la lista de desarrollo de Harbour, ya que es algo específico de Harbour y no de FiveMac.

El "explorer" de OSX se llama "Finder" :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
ramirezosvaldo
Posts: 101
Joined: Mon Oct 10, 2005 6:48 pm
Location: Cd. Juarez Chihuahua
Contact:

Post by ramirezosvaldo »

Estimado Antonio

1.- Alguna utileria para producir pdf. desde un set print to

2.- alguna funcio que presente una ventala modal y se quite a cierto tiempo ( talves 2 seg )

Saludos
Osvaldo Ramirez
Post Reply