Page 15 of 43
Re: he conseguido un iphone
Posted: Sat Oct 30, 2010 6:55 pm
by Daniel Garcia-Gil
...
Pensando un poco en aplicaciones mobiles y lo importante del rendimiento y consumo de memoria de las mismas, se me ocurre no usar el array de ventanas (aWindow) y en vez de hacer la busqueda del handle dentro del array, podriamos llamar directamente el metodo HandleEvent de cada uno de los controles, es decir, pasar el objeto PRG (self) a bajo nivel, lo guardamos en una data y desde bajo nivel lo retornamos a PRG y hacemos a llamada al metodo...
Espero haberme explicado
Preparo un ejemplo y lo subo para probar....
Re: he conseguido un iphone
Posted: Sat Oct 30, 2010 7:38 pm
by mastintin
He encontrado una herramienta que puede hacernos acelerar el desarrollo de contrioles un monton , se llama nib2objc ( buscar por internet) .
Es un "programa" que trasforma el codigo de una nib en su correspondiente codigo objective-c .
SE coje el interface builder se coloca el control que deseamos y se guarda en un nib , luego se ejecuta este programa y nos saca su correspondiente codigo objective-c .
Un saludo.
Re: he conseguido un iphone
Posted: Sat Oct 30, 2010 7:50 pm
by Daniel Garcia-Gil
Manuel
te he creado una cuenta FTP ilimitada en mi servidor (si te interesa), alli puedes subir lo que quieras
mandame un email a
danielgarciagil@gmail.com para pasarte la informacion de la cuenta
Re: he conseguido un iphone
Posted: Sat Oct 30, 2010 9:06 pm
by Daniel Garcia-Gil
Daniel Garcia-Gil wrote:...
Pensando un poco en aplicaciones mobiles y lo importante del rendimiento y consumo de memoria de las mismas, se me ocurre no usar el array de ventanas (aWindow) y en vez de hacer la busqueda del handle dentro del array, podriamos llamar directamente el metodo HandleEvent de cada uno de los controles, es decir, pasar el objeto PRG (self) a bajo nivel, lo guardamos en una data y desde bajo nivel lo retornamos a PRG y hacemos a llamada al metodo...
Espero haberme explicado
Preparo un ejemplo y lo subo para probar....
subido los cambios para hacer las pruebas
Se envia el objeto prg, este es guardado en una data para luego ser retornado al prg, recibido por la funcion FWEvents
Code: Select all | Expand
function FWEvents( oSender, nMsg, uParam1, uParam2 )
return oSender:HandleEvent( nMsg, uParam1, uParam2 )
agrege el uso de bSetGet a las clases Switch y Get, modificado tutor06 para ver el funcionamiento
Re: he conseguido un iphone
Posted: Sat Oct 30, 2010 9:28 pm
by Antonio Linares
Daniel,
El problema de hacerlo de esa forma es que hay que bloquear el objeto a bajo nivel para que no lo destruya el recolector de basura de Harbour y posteriormente hay que liberarlo en un momento correcto en el que no le puedan llegar más eventos.
Este sistema lo probamos en FWPPC y se generaban muchos problemas de memoria por no liberarse los objetos correctamente, y si se liberaban mal daban lugar a GPFs.
El sistema de arrays a alto nivel puede ser un poco más lento pero evita esos dos problemas: objetos de memoria sin liberar ó errores de protección por usar objetos ya destruidos. De todas formas, podemos volver a probarlo y ver como se comporta en iOS. Estos problemas en ejemplos pequeños no se manifiestan, pero en aplicaciones algo complejas, si.
Re: he conseguido un iphone
Posted: Sat Oct 30, 2010 11:24 pm
by Daniel Garcia-Gil
Antonio
Entendido
estoy probando algunas cosas... en poco tiempo lo subo si resulta
Re: he conseguido un iphone
Posted: Sun Oct 31, 2010 3:33 am
by Daniel Garcia-Gil
...
Subido unos cambios que espero sean de utilidad para el tema que plantee para descontinuar el uso del array de "ventanas"
ver el ejemplo slider2
* use GC collected objects.
It's enough to replace handles with NIL assigments, or simply delete them.
+ new function hb_NSSTRING_par( int )
use to convert parameter from char to NSSTRING
Re: he conseguido un iphone
Posted: Sun Oct 31, 2010 5:21 am
by Antonio Linares
Daniel,
No has subido fwprototypes.m, fwprototypes.h
gracias
Re: he conseguido un iphone
Posted: Sun Oct 31, 2010 8:08 am
by mastintin
Quiero haceros un regalo ...
. Este programa es util para los aficionados a la fotografía . es una calculadora de profundidad de campo y de hiperfocal . Inicialmente lo desarrolle en Dashcode para mi trabajo pero como normalmente no tenía conexión en los sitios donde queria usarlo no le he dado mucho uso . Ahora gracias a fivephone se puede usar en local ...Las camaras que aparecen son viejas pero facilmente se pueden añadir nuevas camaras ...
Usa el prototipo del control webview y codigo javascript ...
http://rapidshare.com/files/428084978/tutorweb.ipaSaludos
Re: he conseguido un iphone
Posted: Sun Oct 31, 2010 10:03 am
by Antonio Linares
Solucionado el bug de la Clase TImageView, no hay que especificar AppPath()
Funcionando!
Code: Select all | Expand
function Main()
local oWnd := TWindow():New()
local oImage := TImageView():New( oWnd, "apple.gif", 70, 120 )
oWnd:SetBkgColor( 255, 255, 255, 255 )
oWnd:Activate()
return nil
Re: he conseguido un iphone
Posted: Sun Oct 31, 2010 11:10 am
by Daniel Garcia-Gil
Subidas los archivos faltantes
Re: he conseguido un iphone
Posted: Sun Oct 31, 2010 11:15 am
by mastintin
mirar esta pagina , preguntas y respuesta sobre objective-c en español...
http://www.nscodecenter.com/
Re: he conseguido un iphone
Posted: Sun Oct 31, 2010 3:04 pm
by Daniel Garcia-Gil
...
Subida una nueva funcion para MsgInfo modales
MsgInfoModal( cText, cTitle )
para lograr el modal genere un propio loop de mensajes, usando UIAlertViewDelegate para "delegar" alli y no en el loop de mensajes de la aplicacion
prueba msgmodal.prg
Re: he conseguido un iphone
Posted: Sun Oct 31, 2010 5:46 pm
by Antonio Linares
Daniel Garcia-Gil wrote:...
Subida una nueva funcion para MsgInfo modales
MsgInfoModal( cText, cTitle )
para lograr el modal genere un propio loop de mensajes, usando UIAlertViewDelegate para "delegar" alli y no en el loop de mensajes de la aplicacion
prueba msgmodal.prg
Daniel,
Muy bueno, gracias!
Re: he conseguido un iphone
Posted: Mon Nov 01, 2010 2:33 am
by Antonio Linares
Implementada la Clase TActivityIndicator y nuevo ejemplo samples/waiting.prg
Code: Select all | Expand
function Main()
local oWnd := TWindow():New()
local oActInd := TActivityIndicator():New( oWnd )
// oWnd:SetBkgColor( 255, 255, 255, 255 )
oActInd:SetPos( 140, 130 )
oActInd:Start()
oWnd:Activate()
return nil