23. februar 2005 - 12:16Der er
11 kommentarer og 1 løsning
Access violation at adress. bla bla.
Hej.. Er ved at lave et program, som modtager noget data fra com porten. Den modtager dataen som den skal, og alt virker som om det fungere.. Men... Når programmet når til den sidste '}' i min kode til timeren, så får jeg en access violation. "Access violation at address 008F6F1D. Write of address FFFFFF65".. Min kode:
void __fastcall TfrmMain::tmrDoLogTimer(TObject *Sender) { // Vejret vejr; //Opretter et nyt objekt af classen Vejret //Henter aktuel tid time_t tmtTime; struct tm *ts; tmtTime = time(NULL); ts = localtime(&tmtTime); sprintf(vejr.Dato, "%u-%u-%u", ts->tm_mday, ts->tm_mon + 1, ts->tm_year + 1900); sprintf(vejr.Tid, "%u:%u:%u", ts->tm_hour, ts->tm_min, ts->tm_sec);
chrString indeholder: "0,6,2}\0\0\0..." -> når den nå til forløkken strlen retunere værdien 6, hvilket også er korrekt. x får aldrig en værdi over 0, da alle cifre er 1 tegn, (de kan komme op på max 2 tegn)... Og den ligger værdierne ind i min classe korrekt.
!!! :D Hvis jeg udkommentere: strcpy(chrLog, " "); i min funktion virker det, hvad kan jeg gøre der for at nulstille variablen.. Har prøvet med strcpy(chrLog, '\0') - der får jeg også en access violation :(
Det virker!!! :D Men, vil stadig godt have en lidt pænere funktion til at nulstille variablen.. Istedet for 4 x " ", bruger jeg nu kun 2, det virker? (Underligt)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.