Aide - Recherche - Membres - Calendrier
Version complète : Compatibilité de la fonction FrmRemoveObject
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
naguttes
Bonjour,

J'utilise la fonction FrmNewBitmap et FrmRemoveObject pour afficher et supprimer dynamiquement des images et bien que dans la doc Palm il est indiqué que la fonction FrmRemoveObject fonctionne à partir du système 3, elle ne fonctionne pas sur mon emulateur version OS 3.52, mais elle fonctionne sur le simulateur PalmOS5 (et sur mon TH55).
Y a-t-il quelque chose qui m'a encore échapé?
Patrice
Tu es sur qu'un FrmHideObject() ne te suffit pas (il masque l'objet à l'affichage mais ne le supprime pas de la form) ? Avec l'avantage d'être compatible avec PalmOS 2.0 anim_wink.gif
naguttes
FrmHideObject fonctionne mais le problème c'est que je vais avoir plus de 150 images différentes à afficher en fonction du contexte et qu'il est plus rapide de programmer un FrmNewBitMap, suivi d'un FrmRemoveObject avec l'id de la resource en variable, plutôt que d'écrire 150 fois les 150 ordres Hide et Show.
aldweb
naguttes,

J'ai le même problème que toi, avec POSE 3.5 équipé d'une ROM d'un Handspring Visor 3.5.2H1.5 après que l'on m'ait informé que mon soft provoquait un crash sur un Visor Prism.
Ta ROM 3.52 est-elle aussi une ROM Handspring ?

Je n'observe ce problème qu'avec cette machine et cette ROM, toutes les autres ROMs génériques PALM depuis la 3.0 fonctionnent.

J'en conclue à un bug de cette version d'OS spécifique à Handspring...
D'ailleurs, si quelqu'un avait le SDK Handspring pour les Visor et pouvait me le fournir, ça m'aiderait à vérifier cette hypothèse ou à l'invalider si Handspring avait modifié cet API FrmRemoveObject (on peut toujours espérer...).
Patrice
Rien de spécifique dans le SDK...
aldweb
Merci Patrice... c'est bien la réponse à laquelle je m'attendais même si j'en espérais secrètement une autre !
naguttes
J'ai fait un test sur un clié nX70 en 4.1 et j'ai le même problème. Peut être que ça ne vient pas de FrmRemove, mais de la façon dont fonctionne le FrmDrawForm (j'en fait un après le Remove), qu'en pensez vous?
Patrice
Mmmh, ça peut correspondre à un changement de fonctionnement, effectivement, qui a eu lieu (me semble-t-il) entre la V4 et la V5 : le FrmDrawForm() fait désormais un erase de l'écran alors qu'avant, il ne le faisait pas...
naguttes
Merci de cette information, je vais essayer de faire un erase de la form avant de la redessiner.
aldweb
Pour ma part, je suis sûr et certain que mon problème du jour vient de FrmRemoveObject.
Ma ligne de code se banane uniquement sur une ROM 3.5 Handspring icon_evil.gif
Tant pis :!:
naguttes
Juste pour vous tenir au courant.
Le FrmErase résoud bien mon problème mais visuellement ce n'est pas beau (à cause de cadres qui sont effacés puis réaffichés). Ceci dit j'ai trouvé une solution de contournement toute bête (j'aurai du y penser avant), J'ai mis toutes mes images à la même taille en compensant par des zones blanches, les plus petites, ce qui fait que je suis sur d'effacer la zone qui éventuellement n'a pas été effacé par le FrmDrawFom.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.