Russian Qt Forum

Qt => Общие вопросы => Тема начата: melifaro от Июль 24, 2009, 10:23



Название: QString .arg
Отправлено: melifaro от Июль 24, 2009, 10:23
Всё компилится, жмешь на кнопку вызывается функция readFile и прога ломается. Если в строке
statusLabel->setText(tr("Open file %1 successful").arg(file->fileName()));
убрать .arg всё работает. Eсли убрать кусок

        QDataStream in(file);
        Rez_10_A2 *buf;
        QLinkedList<Rez_10_A2> linkList;
        while(!in.atEnd())
        {
            in.readRawData((char *)buf,42);
            sfp->addRez(*buf);
        }
        prBar->hide();
тоже всё пашет, QLabel показывает "Open file Блаблабла.mki successful", вопрос - почему?

Код:
void Widget::readFile()
{

    QFile *file = new QFile(QFileDialog::getOpenFileName(this,tr("Open dialog"),0,tr("*.mki")));

    if(!file->open(QIODevice::ReadOnly))
    {
        QMessageBox::warning(this,tr("QPoleFileReader"),
                             tr("Cannot read file %1:\n%2.")
                             .arg(file->fileName())
                             .arg(file->errorString())); vbncd
    }
    else
    {
        statusLabel->setText(tr("Open file %1. successful").arg(file->fileName()));
        QDataStream in(file);
        Rez_10_A2 *buf;
        QLinkedList<Rez_10_A2> linkList;
        while(!in.atEnd())
        {
            in.readRawData((char *)buf,42);
            sfp->addRez(*buf);
        }
        prBar->hide();
    }
    file->close();
}


Название: Re: QString .arg
Отправлено: pastor от Июль 24, 2009, 10:26
А память под buf кто будет выделять?


Название: Re: QString .arg
Отправлено: melifaro от Июль 24, 2009, 10:40
вот черт) спасибо