Bonjours,

J'ai un petit problème avec mon thread ...

Je déclare des tableau en variable globale, je les initialse, a partir du programme j'y accéde sans probleme (Formcreate par exemple)

ensuite j'ai créer un thread en utilisant la FAQ sur le TThread du site

mais apres a chaque fois que je veut lire une valeurr d'un des tableau il me met un message d'erreur :

Project XXXXXX.exe raised exeption class EAaccesViolation with message 'Acces violation at address 00406F76 in module XXXX.exe'. Read of adress 00000000'. Process stopped. Use Step or Run to continue.
voila le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void __fastcall TMonThread::Execute()
{
  int i=0, j=0;
  int iCompteurRead=0;
  int iDebut, iNbr, iIndexRangement;
 
        while(i!=1)
        {
                 // normalement je devrais metre iTaile a la place de 18 mais si je met une variable il rentre jamais dans la boucle alors qu'en pas a pas je vois bien la bonne valeur dedans
                for(iCompteurRead=0;iCompteurRead<18;iCompteurRead++)
                {
                        // sur cette ligne qu'il plante alors ke dans le form create j'y accede bien comme sa
                        iDebut = StrToInt(TabMwRead[iCompteurRead]);
                        iNbr = StrToInt(TabMwReadNbr[iCompteurRead]);
                        LireMotsModbus(TabValeurIndex, iDebut, iNbr, iIndexRangement);
                        iIndexRangement = iIndexRangement + StrToInt(TabMwReadNbr[iCompteurRead]);
                        iFileLengthVar++;
                }
                iIndexRangement=0;
                iCompteurRead=0;
        }
 
}
Si quelqu'un pouvais m'aider sa serais génail

Cordialement Baxter