Page 3 of 5

PostPosted: Sat Mar 31, 2007 1:19 am
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

PostPosted: Sat Mar 31, 2007 9:40 am
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

PostPosted: Sun Apr 01, 2007 6:20 am
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

PostPosted: Sun Apr 01, 2007 6:31 am
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

PostPosted: Sun Apr 01, 2007 9:17 am
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 :-)

PostPosted: Sun Apr 01, 2007 5:58 pm
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

PostPosted: Sun Apr 01, 2007 7:10 pm
by ramirezosvaldo
El INTERVAL no funciona o mas bien mi pregunta es q valor debe ir ?

Saludos
Osvaldo Ramirez

PostPosted: Sun Apr 01, 2007 7:53 pm
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

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

PostPosted: Sun Apr 01, 2007 9:16 pm
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í

PostPosted: Sun Apr 01, 2007 9:24 pm
by Antonio Linares
Osvaldo,

Tu ejemplo funciona bien aqui en OSX 10.4.8

Que versión de OSX estás usando ?

PostPosted: Mon Apr 02, 2007 3:55 am
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

PostPosted: Mon Apr 02, 2007 7:00 am
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++

PostPosted: Tue Apr 03, 2007 5:23 am
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

PostPosted: Tue Apr 03, 2007 8:29 am
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" :-)

PostPosted: Thu Apr 12, 2007 4:25 am
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