создаю класс - вторичный поток для чтения данных, в нем в функция run() имеет вот такой вид:
...
sfp = new StructForPole;
QDataStream in(file);
Rez_10_A2 *buf;
while(!in.atEnd())
{
in.readRawData((char *)buf,42);
sfp->addRez(*buf);
}
...
программа зависает, и когда я её тестил не работала именно функция in.readRawData((char *)buf,42);(если её закоментить - всё пашет) пробывал заменить на file->read((char *)buf,42) тотже эфект, долго прыгал в дебагере, вроде зависает функция memcpy();
помогите понять...
заработало когда создал вспомогательную переменную ch
Rez_10_A2 *buf;
char *ch;
while(!file->atEnd())
{
file->read(ch,42);
buf = (Rez_10_A2 *)ch;
sfp->addRez(*buf);
}
file->close();
как так? в основном потоке работал и предыдущий код...