![]()
1. ヘルプのマージ
ヘルプファイルのサイズが大きくなるとコンパイルの時間がかかる、メンテナンス性を損なうなどデメリットばかり気になるところです。このようなときは複数ファイルに分けて作成し、マージすればいいわけです。
このマージの機能はWinHelp4の時代よりサポートされましたが、目次のマージはトップレベルしかできないなど難点がありました。ですが、HTML
Help ではどこにでもマージできるなど、さらに強化されました。
しかし、それでも問題点はあります。
2階層以上になったときの問題は「キーワード」にあります。上から順に
a.chm/b.chm/c.chm がある時、c は b にマージしているため、b
の[Marge] セクションには c.chm が追加されます。これで
b.chm を読み込んだときには c.chm のインデックスも表示されます。しかし、b
を a に追加するとき [Mage] セクションには
b と c を追加しなければなりません。 b のみを追加した場合はいくら
c が b にマージされていても a を読み込んだときには
c のインデックスは表示されません。
今後の改良でどうなるか解りませんが、b をマージしたら
c もマージできるようになって欲しいものです。
アプリケーションからの呼び出しでは、マージされたファイルに含まれるトピックを呼び出すと目次がそのファイル以下のものになってしまい、上位のファイルの目次は表示されません。まあ、マージは呼び出されたときに行われるのでこれは仕方がないことなのですが、それでも不便です。また、アプリケーションの見た目はよくありません。ユーザーに対しても不親切ですしね。
これに関しては取りあえず回避方法があります。先の「特殊な呼び出し法」を参照してください。
ここではあえてヘルプのマージ方法を記述しません。マージ方法だけなら他のHPで詳しく説明してありますし、HTML Help Workshop にも日本ご対応のヘルプがアップロードされましたからそれらを参照すれば簡単に行うことができます。
わたしの現在の開発環境である RoboHELP HTMLEdition は Version 7 (最新は Version 8)では目次のマージ機能には対応していません。マージの機能は HTML Help Workshop に頼ることになります。