crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Проблема с преобразованием 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();
хуже был.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.11.2024, 15:33