Topic identifier not declared in any header file
-
Brian Howe
- Jr. Propeller Head
- Posts: 3
- Joined: Mon Feb 26, 2007 8:52 am
- Location: Ft. Walton Beach, Florida
Topic identifier not declared in any header file
Can someone help me figure out how to clear these errors? They are in the Complier: Alias subsystem. When I compile the project, I get a bunch of these error messages. The project was originally created in RH and I suspect these topics were incorrectly removed from the RH project (they do not exist in my current project).
Brian
-
KevinDAmery
- Propellus Maximus
- Posts: 1985
- Joined: Tue Jan 23, 2007 8:18 am
- Location: Darn, I knew I was around here somewhere...
-
Brian Howe
- Jr. Propeller Head
- Posts: 3
- Joined: Mon Feb 26, 2007 8:52 am
- Location: Ft. Walton Beach, Florida
-
carolynmwallace
- Sr. Propeller Head
- Posts: 168
- Joined: Thu Jan 31, 2008 12:21 pm
- Location: Durham, NC
Re: Topic identifier not declared in any header file
This was driving me crazy too--I couldn't find the missing topic identifiers ANYWHERE...until I ran RoboHelp's Topic References report on the project I had tried to import to Flare. Eureka!
The situation in my case was that there were map IDs that had been created in RoboHelp, but then deleted OUTSIDE RoboHelp. There were only two ways to see these "phantom" map IDs--in the RoboHelp "Topic Reference" Report and in the "Assigned Map IDs" section of the "Topic Properties" dialog (Advanced tab) for the specific topic with the bad reference.
Once I recreated the problem ID, I could then delete it, and the RoboHelp topic would no longer list it as an "Assigned Map ID." After that, I re-imported the project into Flare and got it to compile without the "Topic identifier not declared" error.
The situation in my case was that there were map IDs that had been created in RoboHelp, but then deleted OUTSIDE RoboHelp. There were only two ways to see these "phantom" map IDs--in the RoboHelp "Topic Reference" Report and in the "Assigned Map IDs" section of the "Topic Properties" dialog (Advanced tab) for the specific topic with the bad reference.
Once I recreated the problem ID, I could then delete it, and the RoboHelp topic would no longer list it as an "Assigned Map ID." After that, I re-imported the project into Flare and got it to compile without the "Topic identifier not declared" error.
-
Brian Howe
- Jr. Propeller Head
- Posts: 3
- Joined: Mon Feb 26, 2007 8:52 am
- Location: Ft. Walton Beach, Florida
Re: Topic identifier not declared in any header file
Most of my project was created in RoboHelp. What can I do if I don't have RoboHelp?
Also, I had two header Files; one from RH and one from Flare. I combined the two into the Flare header file, but when I build the project, the RH header file reappears and the changes I made to the Flare header file are gone (put back as part of RH header file). Comments?
Also, I had two header Files; one from RH and one from Flare. I combined the two into the Flare header file, but when I build the project, the RH header file reappears and the changes I made to the Flare header file are gone (put back as part of RH header file). Comments?
Brian
-
carolynmwallace
- Sr. Propeller Head
- Posts: 168
- Joined: Thu Jan 31, 2008 12:21 pm
- Location: Durham, NC
Re: Topic identifier not declared in any header file
Sorry, Brian - just saw your post. I'm not sure what to tell you, as I don't know where the map ID info is hidden. It's got to be somewhere other than the Header files for it to repopulate itself, right? Maybe it's in the code of the topics themselves?
-
wclass
- Propellus Maximus
- Posts: 1238
- Joined: Mon Feb 27, 2006 5:56 am
- Location: Melbourne, Australia
Re: Topic identifier not declared in any header file
You can do this manually, but make sure you backup etc.
In Flare, open up your alias file using the Internal Text Editor (right-click on the alias to get this).
Then search for the ID that is causing the error, and delete the whole line - from <Map Name=xxx ... />
When items get removed from the header.h file outside of Flare, Flare doesn't know to remove them from the Alias (.flali) file and you have to do it manually. When Flare opens the Alias it only lists the alias entries that it can find a match for in the header. It would be nice of Flare to report a missing reference here instead of waiting for the compile.
In Flare, open up your alias file using the Internal Text Editor (right-click on the alias to get this).
Then search for the ID that is causing the error, and delete the whole line - from <Map Name=xxx ... />
When items get removed from the header.h file outside of Flare, Flare doesn't know to remove them from the Alias (.flali) file and you have to do it manually. When Flare opens the Alias it only lists the alias entries that it can find a match for in the header. It would be nice of Flare to report a missing reference here instead of waiting for the compile.
Margaret Hassall - Melbourne
Re: Topic identifier not declared in any header file
I am having a problem similar to Brian's. Most of my project was also created in Robohelp (which I do not have access to) and then imported into Flare. When I build my target, I am getting the "Topic identifier [topic name] not declared in any header file" error message for only one of the 100 or so topics in the project. The .chm seems to work fine, including the topic in question.
The topic identifier is listed when I open the alias file, and is also in the header file. I have tried to manually delete the identifier from the header and create a new ID, assigning it to the appropriate topic, but when I build the target, I still get the error message. Any suggestions?
The topic identifier is listed when I open the alias file, and is also in the header file. I have tried to manually delete the identifier from the header and create a new ID, assigning it to the appropriate topic, but when I build the target, I still get the error message. Any suggestions?
-
wclass
- Propellus Maximus
- Posts: 1238
- Joined: Mon Feb 27, 2006 5:56 am
- Location: Melbourne, Australia
Re: Topic identifier not declared in any header file
I can't spot a reason for the problem straight off, but this is what I would do to trouble-shoot:
0. First, make a backup.
1. Now, clean your output - a lot of temp files are created during the CHM compile , and old aliases may be getting in the way.
2. Open the .FLALI and .H files with a text editor of your choice. Search for ALL occurrences of the problem identifer and delete the rows. I'd also check in the alias file if there are other references to your topic name as well - you should be able to have the topic linked in more than once, so no need for deleting, just make sure you know what is there. You might have a reference to an old identifer that was misspelled or something.
3. Get back into Flare
a. and open your alias file in the GUI.
b. Make sure the correct .H file is listed at the top - by default it says (all identifiers) - choose the .H file even if you have only one.
c. Click "New Identifer" down the bottom and create your problem identifer - a unique number is assigned.
d. Select the right topic and click Assign.
e. Save
4. Now try recompiling.
If you are still having problems, I'd try a bit of research.
Check the temporary files in the output folder for the _Temp.ali file - this is what Flare builds for input to the CHM compiler. Open it with a text editor and check if your problem topic identifer and assigned topic are in there - are they in there more than once? This just might give an idea of where the problem is. You will see a lot of madcap identifers - they don't SEEM to cause any problems, but if they are not getting cleared properly, who knows.
0. First, make a backup.
1. Now, clean your output - a lot of temp files are created during the CHM compile , and old aliases may be getting in the way.
2. Open the .FLALI and .H files with a text editor of your choice. Search for ALL occurrences of the problem identifer and delete the rows. I'd also check in the alias file if there are other references to your topic name as well - you should be able to have the topic linked in more than once, so no need for deleting, just make sure you know what is there. You might have a reference to an old identifer that was misspelled or something.
3. Get back into Flare
a. and open your alias file in the GUI.
b. Make sure the correct .H file is listed at the top - by default it says (all identifiers) - choose the .H file even if you have only one.
c. Click "New Identifer" down the bottom and create your problem identifer - a unique number is assigned.
d. Select the right topic and click Assign.
e. Save
4. Now try recompiling.
If you are still having problems, I'd try a bit of research.
Check the temporary files in the output folder for the _Temp.ali file - this is what Flare builds for input to the CHM compiler. Open it with a text editor and check if your problem topic identifer and assigned topic are in there - are they in there more than once? This just might give an idea of where the problem is. You will see a lot of madcap identifers - they don't SEEM to cause any problems, but if they are not getting cleared properly, who knows.
Margaret Hassall - Melbourne
Re: Topic identifier not declared in any header file
wclass,
Great advice! It compiles perfectly now. Turns out the header file was fine--it was the alias file that contained an extra line with the extraneous Map Name. I was unable to see it when I opened the .flali in Flare, but viewing it through the text editor, it stuck out like a sore thumb. I deleted the line and no longer get the error message. Thanks alot!
Great advice! It compiles perfectly now. Turns out the header file was fine--it was the alias file that contained an extra line with the extraneous Map Name. I was unable to see it when I opened the .flali in Flare, but viewing it through the text editor, it stuck out like a sore thumb. I deleted the line and no longer get the error message. Thanks alot!
Re: Topic identifier not declared in any header file
Great troubleshooting instructions!
As soon as I opened the alias file in text editor - there was the problem!
And adding the identifeir back in and re-assigning fixed the error!
As soon as I opened the alias file in text editor - there was the problem!
And adding the identifeir back in and re-assigning fixed the error!