Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.14;
Скачать: CL | DM;

Вниз

Как создать CHM файл   Найти похожие ветки 

 
Феликс Мантилья   (2003-07-28 18:41) [0]

Друзья!
Как из своей Delphi-программы создавать chm файлы?
(наподобие утилитки html2chm)

Может компоненты есть готовые?

Или линки на теорию вопроса?


 
Феликс Мантилья   (2003-07-28 21:06) [1]

Никто не знает что ли?


 
y-soft ©   (2003-07-28 21:33) [2]

Ничего трудного тут нет.

Сначала динамически во временном каталоге создается весь HTML контент, потом так же формируется файл проекта *.hhp и необходимые файлы *.h, а затем программно запускается компилятор hhc.exe с необходимыми параметрами командной строки.

Необходимо, что бы в путях был доступен также HHA.dll

Получается прекрасно.

Делается так, а не напрямую, потому что внутренняя структура .chm не документирована, а доступных неофициальных достоверных полных расшифровок не существует.

Указанные файлы hhc.exe и hha.dll входят в свободно распространяемый M$ пакет для компиляции файлов *.chm (HtmlHelp.exe)


 
Beginner3000   (2003-07-28 23:35) [3]

Замечательно
верю
Но только почему html2chm без этих файлов устанавливается?
наверное парень в ms работает (инсайдер)


 
Феликс Мантилья   (2003-07-28 23:48) [4]

Устанавливаться-то она может и устанавливается, а вот работает ли она без этих файлов - вот в чем, собственно гря, вопрос.


 
Beginner3000   (2003-07-28 23:52) [5]

У меня работает


 
RIMMER ©   (2003-07-28 23:57) [6]

в html2chm есть chm.dll. Запроси у автора заголовки, может откликнется.


 
Феликс Мантилья   (2003-07-29 00:08) [7]


> RIMMER © (28.07.03 23:57)


А чье авторство на chm.dll?


 
y-soft ©   (2003-07-29 07:27) [8]

Честно говоря кое-что про внутренний формат все же известно - это компаундный файл, в секциях которого и хранится HTML контент, который обычно сжат CAB (но может быть и не сжат), а также оглавление, настройки окна, точки вызова контекстной помощи и т.д.

Добровольцы накопали довольно много:

http://www.speakeasy.org/~russotto/chm/chmformat.html
http://savannah.nongnu.org/projects/chmspec

Но IMHO использовать официальный компилятор hha.dll проще и надежнее, что, кстати, абсолютное большинство утилит и делает...


 
y-soft ©   (2003-07-29 07:58) [9]

Вот еще (специально для желающих изобретать усовершенствованные велосипеды)- OpenSource проекты по созданию альтернативных средств работы с CHM:

http://bonedaddy.net/pabs3/hhm/index.html
http://66.93.236.84/~jedwin/projects/chmlib/




 
[NIKEL] ©   (2003-07-29 10:10) [10]

chm это тот же compound файл

и создавать его можно также через интерфейс IStorage
просто надо создавать несколько специальных потоков в корне (описание окон, дерева, меню, поиска и т.д)
сжимается он недокументированным методом Compact



Страницы: 1 вся ветка

Текущий архив: 2003.08.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
14-45090
Gayrus
2003-06-14 07:15
2003.08.14
API Timer


14-45049
Marser
2003-07-28 10:26
2003.08.14
Именинники 28 июля


14-45158
Вопрошающий.
2003-07-30 17:12
2003.08.14
Утечка памяти в собственной программе


14-44970
zetta
2002-12-12 20:44
2003.08.14
нестандартный диалог открытия файлов как?


14-44977
Дрын
2003-07-24 06:05
2003.08.14
Мастерам а также любителям клубной музыки