Автор: spike_by 22.2.2010, 18:45
Уважаемые, вот кусо кода:
QDomElement file = newcurve.toDocument().createElement("file");
file.setAttribute("num",QString::number(i+1));
newcurve.appendChild(file);
.......................................................................
QDomElement cir = file.toDocument().createElement("Cir");
cir.appendChild(cir.toDocument().createTextNode(QString::fromStdString(cur.inFile.at(i))));
file.appendChild(cir);
qDebug()<<"cir.text() : "<<(cir.text())<<" cur.inFile.at(i): "<<QString::fromStdString(cur.inFile.at(i));
а вот, что получается:
cir.text() : "power/10yq045/idvg-0.cis" cur.inFile.at(i): "power/10yq045/idvg-0.cir"
Почему так? Что с последним символом?
Автор: SABROG 23.2.2010, 0:36
Выкладывай проект целиком, чтобы его собрать можно было через qmake. Ничего подозрительного я не вижу кроме использования QString::fromStdString(). Для теста сделай второй список, но уже с типом QString вместо std::string.
Автор: Litkevich Yuriy 23.2.2010, 3:22
Цитата(spike_by @ 22.2.2010, 21:45)

Почему так? Что с последним символом?
а что собственно не так?
Автор: spike_by 23.2.2010, 11:48
Цитата(SABROG @ 22.2.2010, 23:36)

Выкладывай проект целиком, чтобы его собрать можно было через qmake. Ничего подозрительного я не вижу кроме использования QString::fromStdString(). Для теста сделай второй список, но уже с типом QString вместо std::string.
там все сложно - очень много сторонних библиотек и пр. Выложить не получится(, точнее собрать)
Я так подозреваю на проблемы с памятью, хотя причин не вижу. Ссылки и указатели в данном фрагменте не используются....
Автор: spike_by 23.2.2010, 13:41
Кстати, вот, что еще выводится в консоли при закрытии программы:
*** glibc detected *** ./SpiceParamExtractor: double free or corruption (out): 0x0817c020 ***
Автор: SABROG 23.2.2010, 13:45
Значит пришло время поработать с отладчиком и наверное с valgrind'ом.
Автор: spike_by 23.2.2010, 13:59
Цитата(SABROG @ 23.2.2010, 12:45)

Значит пришло время поработать с отладчиком и наверное с valgrind'ом.
беда в том, что пока с ним не работал.
Кстати, из исходников собрал KDE 4.5 под Debian Etch, скомпилял исходники и там ничего такого плохого нету. Все работает, как я хочу и никаких "double free or corruption" нету.
Неужели дело в QT (OpenSuse 11.2 QT 4.5.3-2.4.2)...
Автор: Kagami 23.2.2010, 20:26
Цитата(spike_by @ 23.2.2010, 13:59)

Кстати, из исходников собрал KDE 4.5 под Debian Etch...
о_О Это как? Во-первых KDE 4.5 еще нет.
Автор: trdm 24.2.2010, 8:49
Цитата(Kagami @ 23.2.2010, 20:26)

Цитата(spike_by @ 23.2.2010, 13:59)

Кстати, из исходников собрал KDE 4.5 под Debian Etch...
о_О Это как? Во-первых KDE 4.5 еще нет.
Привет из будущего? Ладно новости загодя готовят, но что-бы КДЕ пекли впрок О_о...
Автор: spike_by 24.2.2010, 11:31
Цитата(Kagami @ 23.2.2010, 19:26)

Цитата(spike_by @ 23.2.2010, 13:59)

Кстати, из исходников собрал KDE 4.5 под Debian Etch...
о_О Это как? Во-первых KDE 4.5 еще нет.
Блин, опечатался)
Конечно же Qt 4.5! KDE тут не при чем.
Автор: spike_by 24.2.2010, 13:01
Решено:
QDomElement cir = doc.createElement("Cir");
cir.appendChild(doc.createTextNode(QString::fromStdString(cur.inFile.at(i))));
file.appendChild(cir);