Вход в Зоопарк ручных компьютеров
gps мониторинг, транспортная логистика, gps слежение
Программистам - help
"Карманная" версия Базара

 
Начать новую тему   Ответить на тему    Список Базаров Форумы Handy.ru -> Программирование для КПК
Предыдущая тема :: Следующая тема  
Автор Сообщение
tepexob

Маститый писатель


Зарегистрирован: 07.11.2001
Сообщения: 191

СообщениеДобавлено: Чт Ноя 29, 2001 22:23    Заголовок сообщения: Программистам - help Ответить с цитатой

Народ, подскажите - как правильно работать с хелпом на WinCE?

На WinCE я просто кладу HTM файл в директорию \Windows и когда
приходит пора запускать хелп просто вызываю

CreateProcess( TEXT("PegHelp.exe"), _T("myhelp.htm"),
NULL, NULL, FALSE, 0, NULL, NULL, NULL, NULL);

и все работает.

Если же я хочу положить (а на BE300 я вынужден положить)
.HTM файл не в директорию \Windows а в директорию приложения то
я пишу следущее:

TCHAR lpHelpPath[MAX_PATH + 1]; // Allocate buffer for filename
GetModuleFileName( 0, lpHelpPath, MAX_PATH );
// Get .exe file name
TCHAR * lpLastSlash = _tcsrchr(lpHelpPath, '\\');
// Ищем последний слеш в пути
_tcscpy(lpHelpPath, _T("myhelp.htm"));

CreateProcess( TEXT("PegHelp.exe"), lpHelpPath,
NULL, NULL, FALSE, 0, NULL, NULL, NULL, NULL);
// Запустить help с полным путем

то есть выясняю полный путь к имени файла .HTM и запускаю peghelp
с именем файла. На WinCE 2.11 этот фокус проходит, а на других
машинках нет.


Вопрос - я сильно подозреваю что хелп я запускаю неправильно и надо бы
его прописать где то в реестре и иже с ними. Вопрос - где и как?

ps. И заходите на огонек в лист рассылки euro_ppc@yahoogroups.com . Этот лист не бог весть что, но лучше чем вообще никакого.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Sava

Гуру


Зарегистрирован: 18.06.2001
Сообщения: 472

СообщениеДобавлено: Пт Ноя 30, 2001 0:44    Заголовок сообщения: Программистам - help Ответить с цитатой

Developing Microsoft Windows CE Help for Mobile Devices
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Vroma

Гость





СообщениеДобавлено: Пн Dec 03, 2001 2:01    Заголовок сообщения: Программистам - help Ответить с цитатой

>CreateProcess( TEXT("PegHelp.exe"), _T("myhelp.htm"),
NULL, NULL, FALSE, 0, NULL, NULL, NULL, NULL);

>Вопрос - я сильно подозреваю что хелп я запускаю неправильно и надо бы его прописать где то в реестре и иже с ними. Вопрос - где и как?

Вроде бы запускаешь правильно. Вот и MSDN Help тоже самое советует:

CreateProcess(TEXT("PegHelp.exe"), TEXT("my_topic3.htp"),NULL,
NULL, FALSE, 0, NULL, NULL, NULL, NULL);

Правда у файла помощи другое расширение - ''.htp''. При этом они пишут, что "Anchor tags must have an .htm extension"

Может проблема с UNICODE. MFC, например, вызывает Help следующим образом:

BOOL AFXAPI wce_WinHelp(HWND hWndMain, LPCTSTR lpszHelpPath, UINT uCommand, DWORD dwData)
{
TCHAR szHelpPathEx[MAX_PATH*2] = _T("");
PROCESS_INFORMATION rProcInfo;

ASSERT(lpszHelpPath != NULL);
if (lpszHelpPath == NULL)
return FALSE;

_tcscpy(szHelpPathEx, _T("file:"));
_tcscat(szHelpPathEx, lpszHelpPath);

return CreateProcess(_T("PegHelp.exe"), (LPWSTR)szHelpPathEx,
NULL, NULL, FALSE, 0, NULL, NULL, NULL, &rProcInfo);
}

Попробуй заменить lpHelpPath[MAX_PATH + 1] на szHelpPathEx[MAX_PATH*2], может поможет (сам не пробовал).

С пожеланиями успехов,

vroma@ukrpost.net
Вернуться к началу
Vroma

Гость





СообщениеДобавлено: Пн Dec 03, 2001 2:05    Заголовок сообщения: Программистам - help Ответить с цитатой

Еще в догонку.

Обрати внимание на _tcscpy(szHelpPathEx, _T("file:"));
Может оно работает только с префиксом "file:" ?

vroma@ukrpost.net
Вернуться к началу
tepexob

Маститый писатель


Зарегистрирован: 07.11.2001
Сообщения: 191

СообщениеДобавлено: Пн Dec 03, 2001 5:51    Заголовок сообщения: Программистам - help Ответить с цитатой

Обращаю внимание читающих - что проблема касалась только BE300. Как делает MS я знаю, да и на обычных WinCE/PocketPC никаких проблем у меня не возникает.

Вообщем вопрос решился и довольно просто.
Помогло простое взятие полного пути к имени файла в кавычки.

Так что вопрос снят, всем спасибо.

ps. Префикс "file:" также не помог.

Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
SergeyK

Гость





СообщениеДобавлено: Пн Dec 03, 2001 6:46    Заголовок сообщения: Программистам - help Ответить с цитатой

цитата:
Прислал tepexob:

Вообщем вопрос решился и довольно просто.
Помогло простое взятие полного пути к имени файла в кавычки.




Извини, может я ошибаюсь, по это не "самое правильное решение" этой проблемы. А если "юзер" установит прогу не "default" директ. - например - не \Program files\... или не \Windows\..., а скажем \Storage Card2\My Program\..., и как найд±тся твой Help?! Тут должно быть какое-то другое решение. Если это *.htm - то может быть должен создаватся ярлык в \Windows\... с динамически изменяемым пут±м на *.htm в процессе инсталяции..., или задействовать реестр Win, опять-же при инст. прог., т.е. при инст. прог. должна прописываться в реестре (путь установки выбранный "юзером"), а при вызове HELPа ид±т считывание из реестра места нахождения проги - т.е. HELPа.
Извини, может я ошибаюсь...
Вернуться к началу
tepexob

Маститый писатель


Зарегистрирован: 07.11.2001
Сообщения: 191

СообщениеДобавлено: Пн Dec 03, 2001 23:12    Заголовок сообщения: Программистам - help Ответить с цитатой

цитата:
Прислал SergeyK:
Извини, может я ошибаюсь, по это реестр Извини, может я ошибаюсь...


Ну не в первый раз замужем то ... ;-)
Понятно что сначала _выясняется_ реальный путь к файлу, а уж потом берется в кавычки. Если нужен код - пришлю мылом.

А за поддержку - спасибо. ;-)

Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список Базаров Форумы Handy.ru -> Программирование для КПК Часовой пояс: GMT - 10
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять вложения в этом форуме
Вы можете просматривать вложения в этом форуме



Форумы Handy.ru 


Powered by phpBB © 2001 phpBB Group