?
Solved

The topic does not exist. ... error 129 ...using F1 in Menu

Posted on 2003-02-25
8
Medium Priority
?
716 Views
Last Modified: 2013-11-20
Could someone please help me troublehoot this problem? I am a beginer in using context sensitive help - WinHelp and MS Help Workshop. I belive I have followed all the intructions in adding my new help to Menu and still getting this error. I would like to trace the WM_HELP message process to determine what I am missing. I do not want to change to HTML Help because I think my problem is with applying the F1 method to Menu. I have not tryed it in a dialog, maybe I should. I think I understand the "HID_x" involvement in the processing of the WM_HELP message, but I cannot see the realtionships with Map and the actual help (*.rtf) file in MS Help Workshop.
BTW - I realize that MS Help Workshop is not the "latest, coolest" help technology, but I would like to start with it before venturing into MS or Robo HTLM. Thanks Vaclav  
0
Comment
Question by:Vaclav
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
8 Comments
 

Expert Comment

by:zfact
ID: 8023162
Hi Vaclav,
Try to create a ID using the Help Workshop and implement the following and it will work ( To create a context sensitive help ID's reffer to Help in Help Workshop.).

BOOL CMyDialog::OnHelpInfo(HELPINFO* pHelpInfo)
{
     switch(pHelpInfo->iCtrlId)
     {
     case IDC_EDIT1: //F1 Pressed In Editbox 1
          ::WinHelp(m_hWnd,"MyHelp.Hlp",HELP_CONTEXTPOPUP,10);
          break;
     case IDC_EDIT2: //F1 Pressed In Editbox 2
          ::WinHelp(m_hWnd,"Hercules.Hlp",HELP_CONTEXTPOPUP,20);
          break;
     }
     return 0 ;
}
All The Best, Try It.
Thanks & Regards
Zfact
0
 

Expert Comment

by:zfact
ID: 8023164
Hi Vaclav,
Try to create a ID using the Help Workshop and implement the following and it will work ( To create a context sensitive help ID's reffer to Help in Help Workshop.).

BOOL CMyDialog::OnHelpInfo(HELPINFO* pHelpInfo)
{
     switch(pHelpInfo->iCtrlId)
     {
     case IDC_EDIT1: //F1 Pressed In Editbox 1
          ::WinHelp(m_hWnd,"MyHelp.Hlp",HELP_CONTEXTPOPUP,10);
          break;
     case IDC_EDIT2: //F1 Pressed In Editbox 2
          ::WinHelp(m_hWnd,"MyHelp.Hlp",HELP_CONTEXTPOPUP,20);
          break;
     }
     return 0 ;
}
All The Best, Try It.
Thanks & Regards
Zfact
0
 

Author Comment

by:Vaclav
ID: 8028091
OK, I'll try this, however, I have done some work on the problem and I think I am getting closer to the resolution.

BTW , I do not have problem generating the H(elp)ID's, just linking them to topics.

I have managed to eliminate the 129 error by using Alias and associating mine HID with AFX_HIPD_default. If I can figure out how to copy and mofify this AFX_HIPD_default I 'll be half way home. I have followed MS HW help in creating "topic" and have added "#HID-xxx" to my Help.rtf file, but I cannot figure out how does WinHelp/ MS Help Workshop  "translates" the HID-xxx to come up with this Help.rtf file as a topic.( It did not work anyway).  Where is the link? Map does not work - when I specify the Help file by itself it puts .hlp extension on it and than help complier cannot find it. Same if I put .rtf. Is this the missing link - the Map and if so, what am I doing wrong?

It would be nice if some guru could describe the logical flow from WinHelp to MS Help Workshop. I have looked on MS "blocK" diagram of this tool, but it did not help much.

As a sideline - just adding new Menu item to standard "File...." (after Exit)gives me this 129 error, but creating new menu(after Help) works fine - MS  HW comes up with this default "topic" without me doing anything. Go figure! What is the difference in MFC??
0
Get MongoDB database support online, now!

At Percona’s web store you can order your MongoDB database support needs in minutes. No hassles, no fuss, just pick and click. Pay online with a credit card. Handle your MongoDB database support now!

 

Author Comment

by:Vaclav
ID: 8031610
I am begining to feel like a fool. I guess I have assumed too much about cooperation between MS VC++ and MS Help Workshop. This is where I am now - the VC++ builds *.cnt and *.hlp in Debug directory. The MS Help Workshop builds its stuff - including another *.cnt and *.hlp in hlp directory. The hlp directory has the *.hpj - project file - in it. VC++ works with Debug directory and I have not found where to change it! One has to juggle TWO sets of *.cnt and *.hlp to start with. So far it looks like the project ( to actually work with the MS Help) needs to be pointed to \Debug *cnt and *.hlp. My limited success with this theory so far - I can get new topic into Help Menu, only to receive an error that my *.rtf file is not "microsoft help file or is corrupted". I am assuming that Edit Contents Tab Entry file should be x.rtf where the actuall text I am after resides. Also, VC++ keeps recompling the \Debug\x.hlp file, which does not complete until I manually close the MS Help Workshop application!

I guess for now the solution to this "problem" is to read the fine print first. Thanks to all who participated so far. Vaclav
0
 

Expert Comment

by:zfact
ID: 8031739
Hi Vaclav,
send me your email id and i will send you an sample, i think that will solve your proble. mail to zfact@rediffmail.com.

Thanks and Regards
Zfact
0
 

Accepted Solution

by:
modulo earned 0 total points
ID: 11812237
PAQed, with points refunded (100)

modulo
Community Support Moderator
0

Featured Post

Get MongoDB database support online, now!

At Percona’s web store you can order your MongoDB database support needs in minutes. No hassles, no fuss, just pick and click. Pay online with a credit card. Handle your MongoDB database support now!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Finishing the grid – keyboard support for arrow keys to manoeuvre, entering the numbers.  The PreTranslateMessage function is to be used to intercept and respond to keyboard events. Continuing from the fourth article about sudoku. …
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…
Suggested Courses
Course of the Month12 days, 5 hours left to enroll

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question