|
- Forum - iziBasic
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 257
Sujet n° 1177 |
SETFOCUS et OPENFORM |
le 18/03/2005 @ 20:12 par HPnéo
|
Hello,
Peut-on donner le focus à un champs FIELD d'un autre FORM (ouvert avec l'instruction OPENFORM) ? Apparemment cela ne fonctionne pas. Voici un exemple de code; je pense que je ne me suis pas trompé:
OPENFORM 120 : SETFOCUS #122
SETFOCUS s'applique uniquement au FORM principal ?
Autre chose, j'ai un petit problème que je n'arrive pas à expliquer: Dans mon application HPnWeb@ lorsque j'ai ouvert un autre FORM (avec OPENFORM), si je sort du programme à ce moment là, je perd l'enregistrement en cours.. il n'est pas supprimé mais les données sont vides, pourtant j'ai pris soin de sauvegarder les données avant d'ouvrir le FORM et à la sortie du programme.. sans succès !
Can someone please help me ?
Petite info: De temps en temps, après compilation, iziBasic 5 me plante la machine à la sortie du programme.. sur le TH55 et (un peu moins) sur le NX73V (Je pense jamais à voir le message d'erreur).
@++ HPnéo |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Réponse n° 1 -------- le 19/03/2005 @ 11:46 par aldweb
visiteur |
Salut,
Toutes les actions sur un objet doivent ABSOLUMENT se faire uniquement sur un objet de la fenêtre active (donc celle que l'on voit). Celle cachée en dessous, qui ne peut être que la principale (*), est inactivée et n'accepte plus aucune action sur ses objets.
Pour bien revoir ta fenêtre sous-jacente, selon comment tu as défini ta ressource de ta fenêtre ouverte par OPENFORM (paramètre save behind coché ou non...), tu peux avoir à faire un SAVESCREEN puis un RESTORESCREEN. Exemple idiot :
SAVESCREEN OPENFORM 120 CLOSEFORM RESTORESCREEN
Note (*): OPENFORM effectue par défaut un CLOSEFORM si la fenêtre sous-jacente n'est pas la principale (donc celle ouverte par défaut par la machine virtuelle d'iziBasic). Un CLOSEFORM retire irrémédiablement les objets de cette fenêtre de la mémoire.
SAVESCREEN et RESTORESCREEN sont aussi utiles avec COLORSELECT (sur les machines en Palm OS 5), voire d'autres fonctions du même genre comme DATESELECT$ (mais je n'ai pas testé). => cf un fil de discussion ici même avec Montalvo qui m'avait soulevé ce petit souci, d'où l'arrivée de ces 2 instructions.
Réponse petite info: tu ne m'aides pas beaucoup à trouver l'origine du problème et donc une explication, voire un correctif ! Essaye de noter, la prochaine fois, le message bien sûr (dans Crash par exemple), et envoie moi alors les fichiers exacts de ton projet à ce moment là (sources + fichier ressource). Sait-on jamais... ?
@+ aldweb |
|
|
sujet actif
sujet clos
Important!
Nouveau message -
Rectifier message
Clôturer sujet
Remonter
|
|