Help file for a DLL

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have written a help file (chm) for a DLL and referenced it using Help.ShowHelp

My expectation is that a developer using my DLL would be able to access this help file during his development time using "F1" help within the VB IDE. Is this expectation achievable

In trying to test my help file in the IDE, I have a solution with 2 projects: the DLL and a tester. VB does not look for my help file; instead, it looks for path to my source code within my namespace. I haven't yet compiled my DLL. Do I need to do that first

What's the process to make my help file accessible to the developer within the IDE
 
Hi Steve,

You can access your .chm by making it a part of the ide's tools menu.
Here's how:

Go to tools/external tools; select 'add'; give it a title; in the command
box enter c:\windows\hh.exe; in the arguments box enter the name of your
chm: eg, c1truedbgridnet.chm; set the initial directory (full path without
the \filename)

It will then appear in your tools menu and will be available at the click of
a mouse.

I don't know a better way nor do I know if it's possible to do it in any
other manner, but your readme.txt to the developer can instruct him on
installing it in his ide as I do above.

HTH,

Bernie Yaeger

Steve said:
I have written a help file (chm) for a DLL and referenced it using Help.ShowHelp.

My expectation is that a developer using my DLL would be able to access
this help file during his development time using "F1" help within the VB
IDE. Is this expectation achievable?
In trying to test my help file in the IDE, I have a solution with 2
projects: the DLL and a tester. VB does not look for my help file; instead,
it looks for path to my source code within my namespace. I haven't yet
compiled my DLL. Do I need to do that first?
 
Hi Steve,

Based on my research, I can not find a official method which will help us
to integrate our personal help file into the VS.NET IDE.

Just an idea, I think you may try to write an VS.NET Addin, after you load
the addin, the addin will hook the keyboard, so that we can intercept the
F1 press. In the meantime, we can easily know if the current active project
is the dll project which we want to invoke the customized help file from in
the Addin.

Here is an article about hook keyboard.
Managing Low-Level Keyboard Hooks in VB .NET
http://www.developer.com/net/net/article.php/11087_2193301_3

Also here is an article about write VS.NET Addin for your reference.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechar
t/html/tchVSAddinEnablingHTMLTidy.asp

NOTE: This is an hack method, you will use it at your own risk.

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
Hi Steve,

Thank you for your quick response.
Now I am researching the issue, and I will update you with new information
ASAP.

Thank you for your understanding.

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
Hi Steve,

After I further research, I think you may try to use the Visual Studio .NET
Help Integration Kit to Integrate the help file into Visual Studio
development environment.

We may get the Visual Studio .NET Help Integration Kit at link below.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/ht
ml/hwmscExtendingNETHelp.asp

You may look into the section below in the Visual Studio .NET Help
Integration Kit 2003 document.
Implementing Dynamic Help

Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
Hi,

As we state in the EULA of the VSHIK in the installation directory.
SUPPORT SERVICES. No technical support will be provided for the Software.

And the whitepaper did not provide any more comment about the sample
shipped with VSHIK.

Based on my researching, the sample is listed as the below hierarchy.
CityPowerAndLight -------Control
TestCPandL-CS -------CS code using the control
TestCPandL-VB -------VB code using the control
XML -------implement the Dynamical Help XML Data Island
Help2 -------Help project

Here is the workthrough that works.
1. Copy the xml file under the XML directory to the directory.
<VS install path>\Common7\IDE\HTML\XMLLinks\<LCID>.
The value of <LCID> depends upon your language, such as English or French.
For example, the English LCID is 1033.

The XML Help Provider and Dynamic Help
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/ht
ml/vxgrfhowdynamichelpworks.asp

2. Compile the Help2 Project under the Help2 directory.

3 Use the Help Integration Wizard Beta to install the compiled help file.

Creating a Help Collection Using the Help Integration Wizard Beta
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechar
t/html/integration_wizard.asp

We can download it at the link below.
Help Integration Wizard Beta
http://download.microsoft.com/download/c/9/0/c902302f-39d9-42dc-8810-acd798c
e99d5/HelpIntWizardBeta.EXE

4. Restart the VS.NET IDE and load the TestCPandL-CS or TestCPandL-VB
project, move the mouse onto the LightSwitch in the line below.
private CityPowerAndLight.Controls.LightSwitch lightSwitch1;
We will find the Dynamical Help has changed.

5. Press F1 will invoke the predefined page in the xml file under the XML
directory, and now we have copy it under the directory below.
<VS install path>\Common7\IDE\HTML\XMLLinks\<LCID>

[NOTE: we may need to change the <LItem URL> tag in the xml file because
when we build into the vs.net help collection the path may changed.
But we can input the LightSwitch in the index to get the correct page and
retrieve the url something like
ms-help://MS.VSCC.2003/ms.wizard.namespace/CityPowerHelp2/LightSwitch.htm
And now we can change the <LItem URL> based on the
ms-help://MS.VSCC.2003/ms.wizard.namespace/CityPowerHelp2/ url base.
e.g.
<LItem
URL="ms-help://MS.VSCC.2003/ms.wizard.namespace/CityPowerHelp2/WinProjectsCS
..htm" LinkGroup="Help">Creating a CP&amp;L Windows Project (C#)</LItem>
<LItem
URL="ms-help://MS.VSCC.2003/ms.wizard.namespace/CityPowerHelp2/StartWinProje
cts.htm" LinkGroup="GettingStarted">CP&amp;L Windows Projects</LItem>


Here are some additional resource about Dynamic Help for your reference.

MS Help 2 - Dynamic Help
http://www.helpware.net/mshelp2/demo/DynamicHelp.htm

MS H2 Collection Tutorial
http://www.helpware.net/mshelp2/h2tutorial.htm


Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
Back
Top