Page 1 sur 1

Problème avec un thead

Publié : jeu. 11/janv./2007 16:59
par f1roe
Bonjour,

J'ai le message "Invalid memory access" a la fin de la procedure "afficherMesures()" après un appel par un thead. Un appel a cette procédure sans thread ne pose aucun problème.

Si l'un d'entre vous a une idée... merci d'avance.

pour le code :

Code : Tout sélectionner

Procedure.b afficherMesures() 
 ;Debug CountList(chaineMesure())
    For i.l=0 To CountList(chaineMesure())-1
      AddGadgetItem(#ListIcon_Mesures,-1,chaineMesure())
      DeleteElement (chaineMesure(),1)
      Delay(1)
    Next
    ProcedureReturn 1
EndProcedure

Code : Tout sélectionner

Global NewList chaineMesure.s()
.....

            AddElement(chaineMesure())
            ChaineMesure()=chaine$
            ; il y a 44630 enregistrements
.....

Global TheadMesures=CreateThread(@afficherMesures(),0)

Cordialement

Sébastien

Publié : jeu. 11/janv./2007 18:40
par poshu
un thread ne retourne pas de valeur (mais je sais pas si c'est la raison du bug, j'ai la fleme de tester)

Publié : jeu. 11/janv./2007 23:12
par f1roe
poshu a écrit :un thread ne retourne pas de valeur (mais je sais pas si c'est la raison du bug, j'ai la fleme de tester)
Merci pour cette réponse, effectivement un tread ne retourne aucune valeur, donc pas de déclaration de type nécessaire. Neanmoins avec une déclaration cela fonctionne aussi.

J'ai trouvé le problème, c'est probablement mon fichier qui est corrompu car j'ai copié/collé le code source dans un nouveau fichier et plus de problème depuis.

Sébastien