Russian Qt Forum

Qt => Общие вопросы => Тема начата: mal от Апрель 29, 2010, 17:12



Название: убить кэш assistant...
Отправлено: mal от Апрель 29, 2010, 17:12
Windows XP + Qt-4.6.1

Начал ковыряться с хелпом , юзая для этого assistant.exe.

Сделал хелп, поигрался, проверил что все работает, скопировал все это дело в другую папку, сделал модификации, запустил опять таки асистента с файлом из текущей папки из консоли  assistant.exe -collectionFile file.qhc
- и увидел, что асистент поднимает предыдущий файл хелпа из предыдущей папки!
Начал раскопки, обнаружил, что асистент при старте одного и того же файла (по имени)  из разных каталогов поднимает  то файло , которое прописано у него в кэше.
Кэш обнаружил в LocalSettings/Application Data/troltech/...
Убил из файла .qhcp  <casheDirectori> - пересобрал хелп и почистил кэш. При запуске в этом случае поднимается файло из текущей папки, но при этом создается кэш в LocalSettings/Application Data/troltech/Assistant , и при последующем запуске асистента из другой папки, он опять берет файло из этого кэша. Вернее сам файл qhcp не кэшируется, а кэшируется qhc и (видимо) каким то образом там пробит путь к qhcp-файлу, который он и открывает.

Внимание вопрос - как с этим бороться? Тупо чистить кэш при каждом вызове из проги контекстной помощи? Но это же не есть айс.
Есть мнения на этот счет?


Название: Re: убить кэш assistant...
Отправлено: spectre71 от Апрель 29, 2010, 19:24
С Assistant бывает и похуже! Рушаться индесы в кеше. И при попытке загрузки своего хелпа получаешь фигушку(пустышку).
И пока не прибъешь этот долбаный кеш ничего не поможет.



Название: Re: убить кэш assistant...
Отправлено: alexman от Апрель 29, 2010, 22:17
В 4.6.2 вообще после сборки картинки не появляются!


Название: Re: убить кэш assistant...
Отправлено: mal от Апрель 30, 2010, 09:15
пока решил проблему так - сделал бат, в котором перед билдом хелпа косится кэш
Код:
pushd %USERPROFILE%\Local Settings\Application Data\Trolltech\Assistant
del file.qhc
@echo y | rmdir /s /q .file
popd
qhelpgenerator file.qhp -o file.qch
qcollectiongenerator file.qhcp -o file.qhc

и проблема с посмотреть актуальный хелп при запуске асистента отпала.

Осталось для себя решить: надо ли косить из проги кэш перед запуском хелпа в боевом режиме, или принять для себя, что у юзера прога будет жить в одном месте и там не возникнет необходимости в периодическом выкашивании кэша асистента.