Skip to main content
Known Participant
July 31, 2009
Question

HHC3015:Warning Error -Alias created but file does not exist?

  • July 31, 2009
  • 2 replies
  • 5795 views

Hello folks,

I have recently had to recreate a merged help project (the previous project became corrupt) and added two new Map IDs to two new topics. I added them to the AutomationServer and DomainManager child projects.  When I go into the the master project and generate  this error appears in the output view:

HHC3015: Warning:
An alias has been created to "#BMS_Command_Preview_Fields" but the file does not exist

This is one of the two new Map IDs I created. It pertains to the AutomationServer child project. I guess the DomainManager child project didn't cause an issue and is working properly. I have looked at the AutomationServer *.h file and the (Master directory) redirect file to see if I put a typo in the line or the wrong path..but it seems ok. The only difference about this child project that is different from the other child projects is that is using the default BSSCDefault.h filename. The other children projects *.h files are uniquely named. I thought maybe the # symbol was a "space" so I re-checked my syntax in the *.h, master.ali and redirect.html file and there is no space. I am not an expert on merged help systems.  I am stumped. Here are my entries:

BSSCDefault.h :

#define Connecting_to_the_Server1    100
#define Client_Preferences_Fields    102
#define Stored_Batches_Overview    105
#define Starting_Services    106
#define GPI_Triggered_Batches_Overview    110
#define Managing_Custom_Timeline_Views    101
#define Managing_Timeline_Objects    104
#define Resume_Batch    107
#define Batch_Properties    108
#define BatchSchedule    111
#define ServerPreferences    103
#define GPISNMPPrefs    112
#define SystemServicePrefs    113
#define EISPrefs    114
#define DPIPrefs    115
#define StoredBatch    109
#define SCGProps    116
#define ACGProps    117
#define BMS_Command_Preview_Fields    118

Master.ali :

PSI_Generator_Properties=redirect.xhtm#PSI_Generator_Properties
PSIG_Configuration_Fields=redirect.xhtm#PSIG_Configuration_Fields
Program_Video_Decoding_Fields=redirect.xhtm#Program_Video_Decoding_Fields
BMS_Command_Preview_Fields=redirect.xhtm#BMS_Command_Preview_Fields
Manage_Alarm_Configuration_Fields=redirect.xhtm#Manage_Alarm_Configuration_Fields


redirect.xhtm:

else if (Code == "BMS_Command_Preview_Fields")
    URL = "AutomationServer.chm::/BMS_Command_Preview_Fields.htm";

else if (Code == "Manage_Alarm_Configuration_Fields")
    URL = "DomainManager.chm::/Manage_Alarm_Configuration_Fields.htm";

- end

This topic has been closed for replies.

2 replies

forme3dAuthor
Known Participant
August 2, 2009

I am going to try to attach some of the master related files (*.h,hhp, etc)....


Master.hhp

Master.ali

redirect.xhtm

Hopefully this will help. Also here is a video of my testing using RoboHelps CSH tester ....at the *.chm level for each child project the links work..but when I test the master.chm file that is where the links do not work.....something is broken...hopefully the attached files can shed some light.

http://screencast.com/t/IyyDubHk

Thanks!

forme3dAuthor
Known Participant
August 2, 2009

See attached files...the forum won't let me upload files...

-Master.hhp

-master.h

masterold.h

.end

forme3dAuthor
Known Participant
August 2, 2009

New Master.hhp vs Old Master.hhp?

For your reading pleasure. Since the forum won't let me upload files of any type. Both the "New" master.hhp file and the "Old" master.hhp file. Keep in mind the old one sits in the corrupted master project directory.

master.hhp (NEW):

[OPTIONS]
Compiled File=Master.chm
Title=Master
Contents File=Master.hhc
Index File=Master.hhk
Default topic=Introduction.htm
Default Window=NewWindow
Error log file=
Display compile progress=No
Display compile notes=No
Full-text search=Yes
Binary Index=Yes
Auto Index=No
Enhanced decompilation=No
Binary TOC=No
Flat=No

[WINDOWS]
NewWindow="Master","Master.hhc","Master.hhk","","",,,,,0x520,0,0x3006,[5,5,512,384],0x0,0x0,,0,0,0

[FILES]
Introduction.htm
RoboHHRE.lng

Master.glo
Master.brs
[ALIAS]
#include Master.ali

[MAP]

#include BSSCDefault.h


[TEXT POPUPS]
BSSCDefault.h

[MERGE FILES]
UsingSystemX.chm
Configuration.chm
StreamEditor.chm
Options.chm
DomainManager.chm
Alarms.chm
ProxySites.chm
NMXReports.chm
AutomationServer.chm

------------------------------------------

Old Master.hhp:

[OPTIONS]
Compiled File=Master.chm
Title=Master
Contents File=Master.hhc
Index File=Master.hhk
Default topic=Introduction.htm
Default Window=NewWindow
Error log file=
Display compile progress=No
Display compile notes=No
Full-text search=Yes
Binary Index=Yes
Auto Index=No
Enhanced decompilation=No
Binary TOC=No
Flat=No

[WINDOWS]
NewWindow="Welcome to NMX","Master.hhc","Master.hhk","","",,,,,0x420,0,0x200e,[0,0,500,400],0x0,0x0,,0,0,0

[FILES]
Introduction.htm
redirect.xhtm
RoboHHRE.lng

Master.glo
Master.brs
[ALIAS]
#include Master.ali

[MAP]
#include Alarms.h
#include BSSCDefault.h
#include Configuration.h
#include DomainManager.h
#include master.h
#include Options.h
#include ProxySites.h
#include StreamEditor.h
#include usingsystemx.h

[TEXT POPUPS]
Alarms.h
BSSCDefault.h
Configuration.h
DomainManager.h
master.h
Options.h
ProxySites.h
StreamEditor.h
usingsystemx.h

[MERGE FILES]
C:\Company\NMX\4.5_Help\Master_4.5\UsingSystemX.chm
C:\Company\NMX\4.5_Help\Master_4.5\StreamEditor.chm
C:\Company\NMX\4.5_Help\Master_4.5\NMXReports.chm
C:\Company\NMX\4.5_Help\Master_4.5\Configuration.chm
C:\Company\NMX\4.5_Help\Master_4.5\Alarms.chm
C:\Company\NMX\4.5_Help\Master_4.5\ProxySites.chm
C:\Company\NMX\4.5_Help\Master_4.5\Options.chm
C:\Company\NMX\4.5_Help\Master_4.5\DomainManager.chm
C:\Company\NMX\Help\Master\Alarms.chm
C:\Company\NMX\Help\Master\NMXReports.chm
C:\Company\NMX\Help\Master\DomainManager.chm
C:\Company\NMX\Help\Master\Options.chm
C:\Company\NMX\Help\Master\ProxySites.chm
C:\Company\NMX\Help\Master\UsingSystemX.chm
C:\Company\NMX\Help\Master\StreamEditor.chm
C:\Company\NMX\Help\Master\Configuration.chm

forme3dAuthor
Known Participant
July 31, 2009

...While doing some searching...I found:

"Late to the party, but...

This is a bug in the HTML Help compiler, which, when it encounters a bookmark in the alias file,  always reports an error — regardless of whether the aliasing is correct or not. Provided you've set up the topic file-to-ID aliasing correctly, the context call to the bookmark should work correctly.

Pete"

...so it may be working?It was a regular mapID and topic, not a bookmark though.....

I also noticed that I added that child project to the master project and decided to look at the old (corrupted) master project. It seems that particular child project was not part of the orignal master project. So the master project can still suck up all of the proper context-sensitive info even if it isn't in the master project? After I removed the child project from my new master project and regenerated...the error still appeared!!??

also, I am using RoboHelp 7 generating HTML Help in a merged help system in the following arrangement:

Master project

     - child1 project

     - child2 project

     - ...child8 project

Participating Frequently
August 2, 2009

Hi, Mike,

The redirection method that you're using requires you to set up the map IDs and aliases in the master Help project rather than the slaves. The idea of this method is to channel each context call through the master Help file, where it is redirected to the appropriate slave, instead of passing the call directly to the slave. From your description, it sounds like you've compiled BSSCDefault.h into the slave file rather than the master file, and consequently the master file has no knowledge of this mapping:

#define BMS_Command_Preview_Fields    118

If this is correct, the solution should therefore be to add the mapping to your master's .h file.

In case you haven't seen it, here is a complete description of the method that you're using:

http://helpware.net/htmlhelp/how_to_merge_ctx2.htm

It's odd that you don't receive an error message about the other map ID that you recently added. In that case, did you add the mapping to the master .h file instead of (or as well as) the .h file for the DomainManager file?

One way to verify that the context help calls work is to use the Test HtmlHelp API facility in HTML Help Workshop. You simply fire the required context integer at your master Help file, like this:

hhw.png

Pete

forme3dAuthor
Known Participant
August 2, 2009

Hi, forme3d,

Thanks greatly for replying. I know this isn't easy diagnosing through replies. See replies in  Blue text

The redirection method that you're using requires you to set up the map IDs and aliases in the master Help project rather than the slaves. The idea of this method is to channel each context call through the master Help file, where it is redirected to the appropriate slave, instead of passing it to the slave directly. From your description, it sounds like you've compiled BSSCDefault.h into the slave file rather than the master file, and consequently the master file has no knowledge of this mapping:

#define BMS_Command_Preview_Fields    118

If this is correct, the solution should therefore be to add the mapping to your master's .h file.

Forme3d: I added the (above) mapping info into to the master.h file and regenerated the master project. The same error showed up.

In case you haven't seen it, here is a complete description of the method that you're using:

http://helpware.net/htmlhelp/how_to_merge_ctx2.htm

It's odd that you don't receive an error message about the other map ID that you recently added. In that case, did you add the mapping to the master .h file instead of (or as well as) the .h file for the DomainManager file?

Forme3d: Nope. I did not have the other map id added to the master.h file. Before I got your latest reply, this is what the master.h file looked like (just one entry):

#define MainHelp    40014


As you suggested I added the trouble map id and the other (no-trouble) map id for grins :

#define MainHelp    40014
#define BMS_Command_Preview_Fields    118
#define Manage_Alarm_Configuration_Fields    43050

FYI: I did find an old masterold.h file which had a whole bunch of map id info in it. I wonder why it is so chock full of IDs and the current one is not?

One way to verify that the context help calls work is to use the Test HtmlHelp API facility in HTML Help Workshop. You simply fire the required context integer at your master Help file, like this:

hhw.png

HTML Help Workshop hangs every time I use it...


I installed the Help Workshop (said I had a later version installed) and typed in the master.chm, selected HH_HELP_Context, typed main and 118 and clicked Test.. Here is the result:


PeteFYI

If I look at the Master.hhp file I see a [MAP] section. Do I need to add all of the *.h files there? Currently the only one listed is BSSCDefault.h which coincidently is the *.h file for the (problem) AutomationServer child project, where the trouble Map ID lives. Hmmmm. See attached Master.hhp file. I have a feeling that the contractors who prepared the instructions on how to do this may have left out something.

In the next post I will post the instructions I am using....