Проблема с преобразованием QString |
Здравствуйте, гость ( Вход | Регистрация )
Проблема с преобразованием QString |
Bat |
27.10.2009, 13:42
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 27.10.2009 Пользователь №: 1184 Спасибо сказали: 0 раз(а) Репутация: 0 |
В приложении требуется создание архивов с вложенными папками. Работает все исключительно под windows. Поэтому пошел по пути наименьшего сопротивления, использовал 7zip. В предыдущей версии QT все было собрано, и года 2 работало без проблем. Недавно понадобилось внести изменения. Поставил версию 4.5. Победил остальные проблемы, но вот с вызовом собственно 7zip проблемы.
QString zipExePath = QDir::convertSeparators(qApp->applicationDirPath()+"/7za.exe"); SHExecInfo.lpFile = zipExePath; выдает error C2440: '=' : cannot convert from 'QString' to 'LPCSTR' - да вообще даже простой printf(str), если str типа QString - ту же ошибку выдает. Может сконфигурировал что не так? вариант SHExecInfo.lpFile = zipExePath.toAscii().constData(); нормально компилится, но потом в LpFile оказывается строка вида "юююююююююююююююююююююююююююююю" - много маленьких русских букв ю. Это toAscii() такое возвращает. Как быть? |
|
|
Bat |
27.10.2009, 14:19
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 27.10.2009 Пользователь №: 1184 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо, в таком виде заработало. Непонятно правда чем
SHExecInfo.lpFile = zipExePath.toAscii().constData(); хуже был. |
|
|
Текстовая версия | Сейчас: 30.11.2024, 15:33 |