Weather / Spam / www |
Lyon Weather
aldweb against spam
|
|
|
|
|
|
|
- Forum - iziBasic
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 257
Topic # 1199 |
CRASH sur UpdateField |
21/04/2005 @ 08:54 by Cyberpluton
|
Bonjour,
Créons un écran avec un champ à choix multiples du genre : LISTCHOICE #4,"string","string",x,y,w,h
Si nous essayons d'y accéder par UPDATEFIELD #4,"autre string"
Nous obtenons un superbe crash en run time.
Note: à la place, utiliser UPDATELABEL qui fonctionne très bien
Un controle à la compilation à ajouter à la 5.2 ? Cordialement
|
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 1 -------- 21/04/2005 @ 20:27 by aldweb
visitor |
Dis-donc Cyberpluton,
Il me semble normal que tu sois "puni" par un splendide crash lorsque tu fais un UPDATEFIELD sur un LISTCHOICE plutôt que sur un NUMFIELD ou un TEXTFIELD !
Ne pas demander non plus à iziBasic de deviner tout ce qui te passe par la tête qui ne suit pas les rêgles décrites dans la documentation (documentation qui m'a pris un temps fou )
@+ aldweb |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 2 -------- 21/04/2005 @ 21:22 by pascal37
visitor |
Bonjour, je n'arrive pas non plus à utiliser la mise à jour d'un champ du form avec UPDATEFIELD.
exemple/ je créé une ressource avec une form ID 41 puis dans la form un Field 101.
dans le program: ... C$="TOTO" OPENFORM 41 UPDATEFIELD #101, C$ ... et là reset!!
idem si
OPENFORM 41 C$="TOTO" UPDATEFIELD #101, C$
Est ce qu'il y a un paramètrage particulier au niveau des ressource ou une procedure de programmation?
merci de m'éclairer.
Pascal37
|
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 3 -------- 21/04/2005 @ 23:11 by aldweb
visitor |
Pascal37,
Peux-tu m'envoyer tes fichiers sources pour que j'y jette un coup d'oeil (le fichier iBas et le fichier de ressources).
Bien entendu, je te garantis toute confidentialité sur ces fichiers et je les détruirai de mon PC sitôt que je n'en aurai plus l'usage.
@+ aldweb |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 4 -------- 22/04/2005 @ 07:43 by Khertan
visitor |
La solution est tres simple mais pas facil a trouver ... Pour je ne sais quel raison la pile d event semble etre pleine.
Donc faire plutot cela :
C$="TOTO" OPENFORM 41 FLUSHEVENTS <---- :) UPDATEFIELD #101, C$ |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 5 -------- 25/04/2005 @ 21:21 by Pascal37
visitor |
Bonjour Khertan,
merci pour cette solution j'ai effectivement testé cette solution et elle fonctionne. Je l'ai aussi appliqué pour une mise à jour d'un label dans une form qui ne voulait pas fonctionner et cela fonctionne. Néanmoins si la taille de la chaine est importante je crasch: J'ai l'impression que c'est lié à la taille du texte mis dans le label du fichier.
un avis
une question qu'est qui peut remplir la pile d'event dans un programme qui jusqu'a maintenant sert de test de fonctionalité?
cordialement Pascal37
|
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 6 -------- 27/04/2005 @ 21:27 by aldweb
visitor |
Bien vu Khertan surtout que c'était le truc que je t'avais refilé ! Comme quoi, les cas se suivent, se ressemblent et mon cerveau sature !
Pascal37, j'ai bien reçu ton e-mail et je t'en remercie. Je vais donc plonger dans ton code source et essayer de comprendre si oui ou non un OPENFORM à lui seul (ou presque) crée une saturation de la pile d'évênements (d'où la nécessité du FLUSHEVENTS).
@+ aldweb |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 7 -------- 03/05/2005 @ 21:34 by Pascal37
visitor |
Bonjour Aldweb,
pour continuer de te donner des informations. La mise à jour d'un label par UPDATELABEL dans une form fonctionne que suivant 2 choses: Il est nécessaire d'utiliser aussi avant un FLUSHEVENTS Sinon plantage et que dans le fichier ressource le label ne soit pas vide mais au moins de la même longueur que la chaîne que l'on veut changer. j'ai rencontré à un moment l'alerte fatale: MemoryMgr.c,line:3757 Invalid chunk ptr
Si cela peut faire avancer
cordialement
Pascal37 |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 8 -------- 05/05/2005 @ 16:20 by aldweb
visitor |
Merci Pascal37.
Permets moi de te suggérer de vérifier que tu n'empiles pas différents évênements avant l'arrivée de ton UPDATELABEL sans jamais repasser par une boucle DOEVENTS ou WAITEVENT. Car FLUSHEVENTS sert bien à purger la pile d'évênements. Et si son utilisation apparaît nécessaire... c'est qu'il y a quand-même une belle probabilité que tu aies généré tout plein d'évênements avant. Pour t'aider : presque tout traitement GUI génère des évênements...
Ce que tu signales sur la longueur du label avait déjà été soulevé ici, sur ce forum, voici quelques temps. Pour toute réclamation à ce sujet, s'adresser à PalmSource
@+ aldweb |
|
|
topic active
topic closed
Sticky
New message -
Correct message
Close topic
Make sticky
|
|
|
|
|
|