News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Christmas Wish - Hxi and Hxs to .hlp file

Started by Magnum, December 02, 2012, 10:07:19 AM

Previous topic - Next topic

Magnum

It would be real nice if we could hit F1 when on InputBlock and get  popup info on the API.

But it probably would not be easy converting those Hxi and Hxs files to a big .hlp file.
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

jj2007

Test it.
More than 7,000 entries - how many APIs do you regularly use? 20? 50?

CommonTater

Quote from: Magnum on December 02, 2012, 10:07:19 AM
It would be real nice if we could hit F1 when on InputBlock and get  popup info on the API.

But it probably would not be easy converting those Hxi and Hxs files to a big .hlp file.

In which IDE?

I just finished an addin for Pelles POIDE which will let you do just that... directly launches the SDK's DEXPLORE.EXE program with keyword lookup...  You can get the addin ... HERE (also attached below)  Its C code but it's not complex, so it should be possible to take the way it's done and adapt it to other IDE's without too much trouble...  So long as you have access to the keyword under the cursor, it should work.

The command line is a pain but it's not unmanageable...

<path to dexplore.exe> /HELPCOL <location information> /LAUNCHFKEYWORDTOPIC <Keyword>

You can get a look at the /helpcol info for your installation by right clicking the SDK Documentation in your start menu and selecting properties...

In Canada/English it is ...  MS-Help://MS.W7SDK.1033 ... but it will be different in Europe, Asia, etc.

For Canada, on Win7 x64 ...

C:\Program Files (x86)\Common Files\microsoft shared\Help 9\dexplore.exe /helpcol MS-Help://MS.W7SDK.1033 /launchfkeywordtopic

So, when looking up FindFirstFile the complete command line is...

C:\Program Files (x86)\Common Files\microsoft shared\Help 9\dexplore.exe /helpcol MS-Help://MS.W7SDK.1033 /launchfkeywordtopic FindFirstFile

It shouldn't be too much trouble to cobble up a Tool, plugin, addon or whatever with this info in hand.



Magnum

I would like to use it with Qeditor since I am most familiar with it.

I currently use Dexplore as a menu item where I have to manually look up APIs, etc.

Andy

I will look at your code.
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

jj2007

All that is fine if you know already what you are looking for, i.e. if you know that the name of the API is FindFirstFile. But dexplore does a lousy job when, for example, you are trying to remember which API to use when trying to get host information with one of the WSA functions.

When launching the help system with "host WSA" as the search string, it takes ages and at the end you are greeted with a typical bulls**tty M$ message "the exploration of the website was cancelled. Possible operations: retype the URL" (do they never feel ashamed in Redmond??)

Do the same with xHelp, and you'll find what you are searching for. Promised.

Here is a batch file for testing that. Replace D: with your Masm32 drive. The term %commonprogramfiles% makes sure it works with non-English Windows versions, too.
MS.LHSMSSDK works on my XP SP3, for other installations M$ offers you the fascinating game "find out where my help sits". Have fun :biggrin:

@echo off
"%commonprogramfiles%\Microsoft Shared\Help 9\dexplore.exe" /helpcol ms-help://MS.LHSMSSDK.1033/MS.LHSWinSDK.1033  /launchfkeywordtopic "host WSA"
echo.
echo Now the same search with xHelp:
D:\Masm32\help\xHelp\JNotes.exe s=host WSA

CommonTater

Quote from: jj2007 on December 02, 2012, 07:24:46 PM
All that is fine if you know already what you are looking for, i.e. if you know that the name of the API is FindFirstFile. But dexplore does a lousy job when, for example, you are trying to remember which API to use when trying to get host information with one of the WSA functions.

Open Dexplore ... Open the index ... type WSA ... instant list...

Really... I get that you're proud of your project ... and it is pretty good... but constantly bashing other help systems is not going to make yours look any better.


CommonTater

Quote from: Magnum on December 02, 2012, 02:44:09 PM
I would like to use it with Qeditor since I am most familiar with it.

I currently use Dexplore as a menu item where I have to manually look up APIs, etc.

Andy

I will look at your code.

Andy ... is there a link for Qeditor?...  I googled it and there's a mess of them...
Maybe I can help....
Never mind ... found it. 

It looks like you should be able to fetch the highlighed text from the editor and use that as a search keyword...
Not too difficult.


jj2007

Quote from: CommonTater on December 02, 2012, 09:06:35 PM
Open Dexplore ... Open the index ... type WSA ... instant list...

That is not exactly context-sensitive help - even if it worked, and even if it was fast...

QuoteReally... I get that you're proud of your project ... and it is pretty good... but constantly bashing other help systems is not going to make yours look any better.

The help system that I used previously is called "Google". They are the only big software company who really have understood what the user wants when he writes "help me with find file".

Microsoft had a reasonable product with *.hlp, made a horrible mistake with *.chm, and now they are testing dexplorer on the customer. I guess it's fine for a professional programmer who absolutely needs the latest and most exotic API calls, but for the beginner it's like using a helicopter to get cigarettes...
;)

Magnum

I had problems with Xhelp. Maybe I didn't install it right.

It kept prompting to download the help file again, then I could not pick anything from the code column in Qeditor.

Later when I have more time, I will check it out more.

Andy
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

dedndave

Tater -
the QEditor we talk about in here was written by Hutch and is included in the masm32 package   :P

jj2007

Quote from: Magnum on December 03, 2012, 12:01:57 AM
I had problems with Xhelp. Maybe I didn't install it right.

It kept prompting to download the help file again, then I could not pick anything from the code column in Qeditor.

It probably means the download was blocked by a firewall or AV or whatever. Check if \Masm32\HELP\XHELP\Sdk32OLE.jno or \Masm32\HELP\XHELP\~FrLocal.exe are present.

Magnum

No dl was blocked and those directories were present.

Andy
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

CommonTater

Quote from: jj2007 on December 02, 2012, 10:38:41 PM
Quote from: CommonTater on December 02, 2012, 09:06:35 PM
Open Dexplore ... Open the index ... type WSA ... instant list...

That is not exactly context-sensitive help - even if it worked, and even if it was fast...

And neither is looking for "something or other that starts with WSA" ...  If you don't even know that go into the table of contents ... Win32 ... Networking...    Worst case, use the built in search tool....

Quote
QuoteReally... I get that you're proud of your project ... and it is pretty good... but constantly bashing other help systems is not going to make yours look any better.

The help system that I used previously is called "Google". They are the only big software company who really have understood what the user wants when he writes "help me with find file".

Microsoft had a reasonable product with *.hlp, made a horrible mistake with *.chm, and now they are testing dexplorer on the customer.

Yes the .hlp format was good for the end user... but a hair pulling bad experience for writers.
The .chm system was beyond cool for either users or programmers.  Ebooks use html help format quite nicely...

Desplore.exe aka Help9 is NOT for us as programmers.  It is Microsoft's inhouse means of providing SDK level help to programmers... with this tool we ARE the users and it's to our advantage to treat it that way.

QuoteI guess it's fine for a professional programmer who absolutely needs the latest and most exotic API calls, but for the beginner it's like using a helicopter to get cigarettes...

Oh come on, it's not that bad... It's a big old reference book with a keyword index, table of contents and a very powerful search tool built right in...  All you gotta do is stop  hating it long enough to learn how to actually use it ... Just like C or C++.

And FWIW... Yes I do --absolutely-- want the latest and most exotic API calls at my disposal.  The Windows API is some 30,000 functions and I can't think of a single reason why I should ignore even one of them...

CommonTater

Quote from: Magnum on December 03, 2012, 02:40:55 AM
No dl was blocked and those directories were present.

Andy

Hi Andy... I had problems with it the first time ... Win7 x64 ... the database install was blocked by Windows Defender... I temporarily suspended it and got it working.  It was fine after I re-enabled Defender.  Neither the program nor the sfx database have manifests in them so the UAC was freaking out all over it.   

jj2007

Quote from: CommonTater on December 03, 2012, 03:02:37 AM
Oh come on, Help9 is not that bad... It's a big old reference book with a keyword index, table of contents and a very powerful search tool built right in...  All you gotta do is stop hating it long enough to learn how to actually use it ... Just like C or C++.

And FWIW... Yes I do --absolutely-- want the latest and most exotic API calls at my disposal.  The Windows API is some 30,000 functions and I can't think of a single reason why I should ignore even one of them...

Get one of your fat sources, and count how many different API calls you used. Probably no more that 500. And yes, it's good to have the other 29,500 "at your disposal", and why not wait ten seconds until Help9 is ready to answer, in case you really, really need something completely new and exotic?

But for the 50 bread-and-butter functions that we really use, the response time should be in the milliseconds range (a toolhelp bubble would be fine...), and the info should be delivered as elegantly as Google does it.

Quote from: CommonTater on December 03, 2012, 03:05:14 AMNeither the program nor the sfx database have manifests in them so the UAC was freaking out all over it.

Thanks for reminding me, maybe I should try that one day. Although I never had problems on my Win7-64 installation (maybe they have realised that virus coders can write manifests, too  :greensml:)