Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2009, 12:30   #1
Fataller
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 62
По умолчанию Работа с chm в Delphi

Добрый день. Необходимо в Delphi к кнопке прикруть файл chm со справкой. Делаю это этими двумя способами
ShellExecute(Application.Handle,'op en','help.chm',nil,nil,SW_SHOWNORMA L);
WinExec('hh.exe help.chm',SW_SHOW);
В WinAPI не силен, взял код с какого-то ресурса. Все открылось, все прекрасно. Но в моем приложении есть функция сворачивания в трей, и после того как это происходит, то справка не открывается. В чем может быть причина? Либо, если возможно, подскажите какой-либо альтернативный удобный способ вызова справки. Заранее спасибо
Fataller вне форума Ответить с цитированием
Старый 05.04.2009, 12:48   #2
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Цитата:
Сообщение от Fataller Посмотреть сообщение
...Все открылось, все прекрасно. Но в моем приложении есть функция сворачивания в трей, и после того как это происходит, то справка не открывается. В чем может быть причина?...
Не открывается когда приложение свернуто в трей?
и по какому событию пытаешься открыть? (F1 ?)
s.Creator вне форума Ответить с цитированием
Старый 05.04.2009, 12:50   #3
Fataller
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 62
По умолчанию

У меня главная форма. На ней есть кнопка Справка. Я запускаю проект, щелкаю по этой кнопке, все прекрасно. Затем я сворачиваю приложение в трей, опять разворачиваю, щелкаю по "Справке"-и ничего.
Fataller вне форума Ответить с цитированием
Старый 05.04.2009, 13:17   #4
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Возможно не совсем правильно разворачиваешь приложение обратно.
Попробуй без Application.Handle
Код:
ShellExecute(nil,'open','help.chm', nil,nil,SW_SHOWNORMAL);
s.Creator вне форума Ответить с цитированием
Старый 05.04.2009, 13:51   #5
Fataller
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 62
По умолчанию

[Error] Unit1.pas(96): Incompatible types: 'HWND' and 'Pointer' - ошибка, не компилится даже
Fataller вне форума Ответить с цитированием
Старый 05.04.2009, 14:03   #6
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

виноват
Код:
ShellExecute(0,'open','help.chm', nil,nil,SW_SHOWNORMAL);
s.Creator вне форума Ответить с цитированием
Старый 05.04.2009, 14:05   #7
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

попробуй вместь Application.Handle просто Handle
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 05.04.2009, 15:25   #8
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Application.Handle, Handle и 0 первым параметром в ShellExecute - это одно и тоже - дискриптор текущего приложения, т.е. твоя программа.

При сворачивании в трей основной программы файл справки остается запущен ?
Может быть он у тебя сворачивается вместе с программой, а при показе программы не показывается ? Хотя тут должна запускаться другая копия файла справки.
Для сворачивания в трей какими компонентами пользуешься ?
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 05.04.2009, 20:46   #9
Fataller
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 62
По умолчанию

Для сворачивания в трей пользуюсь CoolTrayIcon
Fataller вне форума Ответить с цитированием
Старый 05.04.2009, 21:20   #10
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

попробуй так..
ShellExecute(0, nil, PChar('полный_путь_к_файлу'), nil, PChar(ExtractFilePath('полный_путь_ к_файлу')), 1)
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь с chm (Delphi) Simply-Art Помощь студентам 5 03.02.2010 12:47
chm файл Михаил Юрьевич Общие вопросы Delphi 2 10.07.2008 08:17
БД как добавить chm Pashin БД в Delphi 1 07.12.2007 15:22
проблема с *.chm FAiver Свободное общение 5 28.09.2007 21:01
*.CHM HELP файл SERG1980 Общие вопросы Delphi 1 13.04.2007 16:19