If this is your first visit, be sure to check out the FAQ by clicking the link above. You have to register before you can post.

If you have recently signed up, please make sure you log in so that your activity is registered. This is required for automatic promotions to work and to ensure your account is not deleted during the registration process.

I have not release the build using the raw HTML pages, yet. I was trying to get an idea of if this would be preferred over a .chm file.

Advantages:
- I can theme the window since its part of the calling process
- I can control the output of the help system more easily
- all the advantages of direct control

Disadvantages:
- Have to manage lots of html files in the distro

GameMaker Studio 2 and Unity are using html files so maybe its a better option? I know for myself I like simple and elegant and a single .chm is appealing. But there is the issue already mention that will be an problem with CHM. But, I would like to know other people thoughts on this.

Yes single file help does seem appealing. But the problem with .chm (Microsoft compiled HTML Help) is proprietary technology owned by Microsoft so there are probably some limitation of where you can use it. So if you are thinking about supporting any other platform besides Windows you would probably have to change it.

For now, I think I will go with HTML files. I got the integration in and working. I can context search just like with a .CHM now. It automatically themes, blah blah... again all the advantages of direct control. Plus, it will provide some "future proofing" if/when I decide to move to other platforms.

Interestingly, I dug up some tech I made some time ago (one of my many unfinished projects, haha) where I was able to take the raw html file help system, compress to a zip. I installed an protocol handler (for example lgp://index.html), this would fire an event and I could then fetch the files from inside the zip and display them as normal. This totally worked..... at that time. However, I played around a few hours last night trying to get it work, sadly I was not able to. I know its doable, just have to figure out why the protocol handler is not being initialized properly. Anyway, maybe I can get that working at some point.

However, I played around a few hours last night trying to get it work, sadly I was not able to. I know its doable, just have to figure out why the protocol handler is not being initialized properly. Anyway, maybe I can get that working at some point.

Are you trying to initialize the protocol system wide or in scope use user login session?
You sad that you dug up this tech from long time ago. So I'm guessing it probably predates the UAC (User Account Control) that has been introduced with Windows Vista.

Also does this new protocol only registers for Internet Explorer or is it made available for any installed Browser?

I found the protocol stuff here. I used it before to build the help system and it worked before for me. It will register the protocol and setup a callback within the current process and then remove it on shutdown. I think the issue maybe related to DLL vs EXE. I did some more test last night and placed into an EXE and it will register properly then. I got the files coming in from the HTML folder via the handler and I feed that to browser. It displays the help system interface, but when I click on a link, it then tries to load internet explorer. Not sure what is going on now. This was working perfectly before (maybe 2-3 years ago I think). I got the mime types correct. I see some javascript errors too. Maybe you can figure something out.

Note, the examples work, they are simple static html files. I'm reading in a webhelp system generated by Help & Manual. It could be related to the template too. The more complex ones, im seeing a race condition when it loads, but the classic webhelp template loads just fine. I can navigate around, but any link tries to load IE. I see my protocol handler in the address bar of IE too. It should be continuing to fire to my handler. So something is wrong I have to figure out. Once I get this working, I can then redirect those files from a zip file. If I go WebBrowser1.Navigate('lgp://index.html'), the help system will load in and display. Any links clicked there after, will try to load IE.

Could you please show me the example of the code you use for loading of custom HTML files? When I'm looking at the example code I can't figure out how to do that properly as in example everything is hardcoded.
Well I did manage to change the first HTML page, but I don't know how to open proper HTML based on the link you have clicked. I'm guessing I need to parse/extract needed infromation from aUrl variable but I just can't wrap my head around how