VC++ problem...

12 отговора 283 прегледа
#1

VC++ problem...

При изпълнение на този цикъл се получава съобщение:
"Unhandlet exception in App.exe: 0xC0000005: Access Violation"
Как да избегна този конфликт?

DWORD tbuff[10];
SYSTEMTIME systime;

for( i=1;i<10;i++)
{ GetSystemTime(&systime);
tbuff=systime.wMilliseconds;
}

Отговор
в отговор на WQ #2

Re: VC++ problem...

pri mene tva sekompilira i trugva :

DWORD tbuff[10];
SYSTEMTIME systime;

for(int i=1;i<10;i++)
{
GetSystemTime(&systime);
tbuff=systime.wMilliseconds;
}

Отговор
в отговор на WQ #3

Re: VC++ problem...

Това нещо си работи перфектно. Проблемът ти е някъде другаде.
Ако като махнеш тоя код програмата ти работи, значи мажеш някъде по паметта, препълваш някакъв блок.

Отговор
в отговор на Гeнчo #4

Re: VC++ problem...

abe index i w kwadratni skobi mu e wkulchil na
italic ako se wgledash :))))

Отговор
в отговор на emo #5

Re: VC++ problem...

imam podozrenie che w originalnata mu programa ne e i<10 a i<=10
da rechem... shtoto gledam che e pochanal da broi ot 1...

Отговор
в отговор на WQ #6

Re: VC++ problem...

A pri men ne se kompilira izobsto:
error C2440: '=' : cannot convert from 'unsigned short' to 'unsigned long [10]'
Posledniqt red trqbva da e:
tbuff=systime.wMilliseconds;
ili
*(tbuf+i)=systime.wMiliseconds;

Отговор
в отговор на Disappointment #7

Re: VC++ problem...

Ei, malko kusno se svetnah k'vo stava;-))

Отговор
в отговор на emo #8

Re: VC++ problem...

Много добре съм се вгледал, и затова казах че се компилира и проблема не е там.

Отговор
в отговор на Гeнчo #9

Re: VC++ problem...

Естествено, не им обръщай внимание. Те откриват топлата вода. Да не виждаме за пръв път постинги на сорс без мета език.

Отговор
в отговор на NdD #10

Re: VC++ problem...

Toзи код работи само като го трасирам стъпка по стъпка. При нормален старт се получава съобщение:
"Unhandlet exception in App.exe: 0xC0000005: Access Violation"
Определено не е от индекса i !

DWORD tbuff[10];
SYSTEMTIME systime;
int i;

for( i=1;i<10;i++)
{ GetSystemTime(&systime);
tbuff=systime.wMilliseconds;
}

Отговор
в отговор на WQ #11

Re: VC++ problem...

Втория ред в цикъла е tbuff[ i ] = systime.wMillisecond ;

Отговор
в отговор на WQ #12

Re: VC++ problem...

Трудно ми е да повярвам, че точно този код гърми.
Буферът е локален, systime е локална, броячът - също.
Това ли е цялата програма?

Отговор
в отговор на Bonev #13

Re: VC++ problem...

Сложи контролен печат (printf/MessageBox) на брояча в цикъла, за да видиш кога гърми.

Отговор