News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Problem with win32.hlp and f1 Key with QE

Started by cookj, October 30, 2008, 09:38:45 PM

Previous topic - Next topic

cookj

I downloaded Hutch's new version 10.  I must
say it is pretty sweet.  I like the enhanced QE.

Anyway I downloaded the win32.hlp Hutch has
on this site and I can not get it to work with the
F1 Key.  It works fine as a menu item but setting it
up for F1 as c:\ masm32\help\win32.hlp does not work.

When I hit the F1 key its just a ping.  I deleted the
win gid file but it did not seem to help.

Any ideas?

I suppose I will just reinstall the whole package
again which is not trouble but I am just wondering.

Thanks

John

hutch--

John,

Check your OS version, if its Vista you need to get the winhelp engine, either from an old install disk or from Microsoft. See if the file rund directly from Explorer or File Manager, if it doesn't, you probably don't have the winhelp engine installed.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

cookj

Hutch

Thanks for the quick response!

The win32 Help used to work from the new QE
Help menu but does not anymore.

Radasm works just fine using the F! key.

I using Win XP SP3.  I am wondering if the
SP3 has something to do with it.

I have the winhelp program on my system.

As a temporary solution I am going to use an
older version of QE when I need to use the
help file. The F1 win32.hlp works just fine in
the older version of QE.

This is not a real problem.  I just think it is strange
that I can not get the help file to work in the new
version of QE.

Thanks


John




Mark Jones

Hello cookj, try deleting the WIN32.GID file. I've seen weird things happen and deleting this index file will solve it, perhaps it might help you too. (The file is auto-generated on next use.)
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08

raymond

Have you edited the menu of QE10???? The Win32 item is not yet present in the Help list.

If you did add the Win32 help file in the help menu's list, did you also modify the settings for the "Set F1 Help File" under the Edit=>Settings tab of the menu????
When you assume something, you risk being wrong half the time
http://www.ray.masmcode.com

cookj

Raymond

I did both things that your suggested.

I am running XP Prof with SP3.

The F1 key works perfectly in Masm32 Ver 9.

I assume that there are users using XP Prof
SP 3 and Masm32 Ver 10 and the F1 key is
working for them?

I understood that Hutch assembles the package
on Windows 2000 so I am not sure what could have
changed in between versions.

I think I might have something hosed but for the
life of me I can not figure what I am doing wrong.

I inserted it in the menu on QE and it works perfectly/

I can not get it to work with the F1 key.

Now granted with the list of problems in the world
economy war in Iraq, Global warming this is low
on the priority list.

But it just bothers me a little.

I even checked in the Windows services to make sure
that help is enabled and it was.

I can get along with using it from the menu, but I
just wonder why I can not get it to work with the
F1 key.

I have deleted the win32 GID file till the cows come
home and it does not make any difference.

The path for the F1 key is c:\masm32\help\WIN32.hlp.

I am using the large version of win32.hlp 24 GIG.

Thanks for your time and suggestions.

John

hutch--

John,

This is the actualy code that calls the winhelp file. Just check the settings by opening the file "qehlp.bin" and see if it contains the correct path.


      case WM_KEYDOWN
        switch wParam
          case VK_F1
            invoke select_word,hWin
            invoke SendMessage,hEdit,EM_EXGETSEL,0,ADDR cr
            mov eax, cr.cpMin
            .if eax != cr.cpMax                             ; if the algo selects a word
              mov pbuf, ptr$(buffer)
              invoke SendMessage,hEdit,EM_GETSELTEXT,0,pbuf

              mov pMem, ptr$(buf)
              invoke get_app_path,pMem
              mov pMem, cat$(pMem,"qehlp.bin")
              .if rv(exist,pMem)
                mov hMem, InputFile(pMem)
                invoke SetWindowText,rv(GetDlgItem,hWin,101),hMem
                invoke WinHelp,hWnd,hMem,HELP_PARTIALKEY,pbuf
                free hMem
              .endif

              xor eax, eax
              ret
            .endif
        endsw
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

KeeneT

I have the same problem with Quick Editor 4.0

I successfully added win32.hlp to the Help Menu and it works fine from there.

The "Set F1 Help File" is pointing to c:\masm32\help\win32.hlp but all I get is a BEEP.

The qehlp.bin also points to c:\masm32\help\win32.hlp.

Did John's issue finally get resolved?

Can I check the code that Hutch posted to see if it is correct? If so, how?

Thanks,

Keene

P.S. I tried searching through the messages before asking this question and apologize if I missed the answer...

MichaelW

In my tests the F1 Help key would work only if I had a file loaded into QE, and QE could not find the help file if the line in qehlp.bin was terminated with a CRLF.

eschew obfuscation

hutch--

The dstinction is a very simple one, the F1 key does context help on the word selected or where the caret currently is. If there is no word to look up, it does not look up an empty word. Type an API name into the editor, place the caret on it and press F1, it should then bring up help for that word. When you add WIN32.HLP to the menu you are doing something different, you are starting the help file without specifying a word and it brings up the index.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

MichaelW

Yes, the context help works correctly. The only way I can open the WIN32.HLP file with F1 is with the caret on an appropriate word. I cannot get just the index (or at least not with any reliably).
eschew obfuscation

dedndave

i never use help - lol
i just mash all the buttons until i get what i want
i know Hutch put it in there someplace logical - lol

welcome to the forum

cookj

Hutch and All:

Actually what through me off was in the old QE I did not
have to have the source file loaded for the F1 key to bring
up the win32 help file.

It did not ever occur to me that was the difference between
the two editors.  The new improved QE has to have the source
file loaded for the f1 key to work and the old QE does not.

I repeated myself but anyway in the giant scheme of things
it does not really matter.  Now that I know a source file has to
be loaded for the f1 key to work I am a happy camper.

Thanks for your continued support and help!


John

hutch--

Thanks John, when I wrote this version I atually intended it to work like this but I did not foresee that anyone would have problems with it. Next time I get a chance I will see if its viable to tweak the code to bring up the index if there is nothing at the caret location.

The way it is designed at the moment is for the current caret location used as a reference point to scan the text backwards to find the start of a word, then it scans forward from that point to get the end of the word, reads the word and passes it to Winhelp.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

cookj

No problem Hutch.

Now thtat I got it into my head how it works I can live with
the way it works.

If I am just kicking around I will use the menu and if I have
a specific problem I will use the F1 key as intended.

Thanks


John