Problème avec un thead

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
f1roe
Messages : 34
Inscription : dim. 04/sept./2005 22:10
Localisation : Lyon 3ème

Problème avec un thead

Message 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
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message 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)
f1roe
Messages : 34
Inscription : dim. 04/sept./2005 22:10
Localisation : Lyon 3ème

Message 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
Répondre