создаю класс - вторичный поток для чтения данных, в нем в функция 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();
как так? в основном потоке работал и предыдущий код...