How to call from c# webhelp

I don't want to seem too simplistic, but I spent at least 2 hours, try calling webelp c# files, without a bit of luck to all. All I ever get is three beeps my computer soon, and the Internet Explorer browser never show at all. Here is some basic information:

I read all the documentation, from beginning to end.

(On WinHelp_4) I've compiled the project CSH_CS (csharp version) and am able to call my simple file WinHelp RH (Dummy.chm) very well, using the main url "c:\\Docs and Settings\\etc\\RoboHelp 6.0\\Dummy\\! SSL!\\WinHelp_4\\Dummy.hlp ". A = 1 MapID is required in the CSH test dialog box so that my help file load. This support my help since the little thin CSH test window.

(On WebHelp) After obtaining the WinHelp_4 version to work, I went from the main exit to WebHelp in the section layout SingleSource and specified that HR must create a subdirectory (HTMLHelp) to store the WebHelp files. I regenerated the project and read the resulting output to web successfully using the view results or the main layout view toolbar HR. So I think my help files are ok. But... I can't get the WebHelp to display in the CSH test dialog box, no matter what I try.

Currently I use roughly the same main URL in the c# CSH project: "c:\\Docs and Settings\\etc\\RoboHelp 6.0\\Dummy\\HTMLHelp\\! SSL!\\WebHelp\\Dummy.htm ". I do not add a window > main at the end of the main URL. No matter if I use a 1 MapID or is empty. It doesn't matter if I choose to Index, search, etc. Any combination of things, the help file does not appear. The file exists - if I double click on the file Dummy.htm, file charges help immediately in Internet Explorer.

If my help files seem ok, and the CSH_CS code seems ok (at least it works with WinHelp_4). All I have changed is the path to my help file. (Oh, and I tried to point a *.htm example existing in the directory examples of HR, with the same results - just a few clicks little IE (probably to say "There is a mistake somewhere").)

Could someone give me exact instructions on what I could try to solve the problem? I would like to know the specific syntaxes for the use of windows and MapIDs in my URL string too, if you know. Here's what I think they are:

URL = "Startpage.htm" - to load the complete help system
URL = "Startpage.htm > main"-to display in a particular window
URL = "Startpage.htm < id = 2"-to display mapid 2

Thanks for your help

Well well, another hour and a bit further. Now I can view WebHelp to c# through the RoboHelpAPI (although it seems unnecessary, because of the bugs and problems in the CSH_CS example program and web IE browser window popup). First, here's the code that displays the system WebHelp (high-level, in a stand-alone instance of IE browser)

Try 2
int cmd = CRoboHelpAPI.CSH_DISPLAY_CONTEXT;
CRoboHelpAPI cHelp = new CRoboHelpAPI ();
int ID = 1; context ID; the number is not serious at all
foobar string;
foobar = "C:\\my pathname\\RoboHelp 6.0;
foobar += "\\Dummy\\HTMLHelp\\!" SSL!\\WebHelp\\Dummy.htm ';
string second = foobar;
cHelp.RH_AssociateOfflineHelp (foobar, second);
cHelp.RH_ShowHelp ((int) this.) Handle, foobar, cmd, ID);
return;

From RoboHelp_CSH_CS.cs:
the reset command
Switch (NCommande) {}
case CSH_DISPLAY_CONTEXT:
Note that I commented this line--it is allowing it to "work".
It is also why the number of the ContextID above is not serious - we ignore it.
strHelpURL += ' # '.
break;

From RoboHelp_CSH_CS.cs:

public static IWebBrowserApp
GetBrowser () {}
for (int nIdx = 0; nIdx)< 2;="" nidx++)="">
try {}
If (m_cExplorer is nothing)
m_cExplorer = new InternetExplorer ();
If (m_cBrowser is nothing)
m_cBrowser = m_cExplorer (IWebBrowserApp);
I had to add this code myself, because the browser does not
visible by the example of program Adobe CSH_CS.cs. A defect,
in the example program, for sure.
==> m_cBrowser.Visible = true;

So to summarize, if you set the example CSH_CS code (1) to make the visible browser and (2) ignore the number the contextID, the code in this ad will display your WebHelp system in a new IE window, with the usual framework of TOC on the left and the topic on the right window, in a main window. But wait... There's more...

IE POPUP WINDOWS

The example above in the code under the direction of the case for CSH_DISPLAY_CONTEXT. The code added a few extra characters to the URL to tell the browser to display a specific page, rather than just the start page. Similarly, branches CSH_DISPLAY_TOC/INDEX/SEARCH code also adds characters to the URL, to tell the browser to display a specific page in the help system.

The problem with all this is that IE treats all these single page displayed as a pop-up windows and blocking them. That is why in my original case at the top of this announcement I only heard a few clicks (and did not) when I tried to display my WebHelp. I saw nothing because the browser was not made visible by the code. I heard the two double clicks (click-click, click-click) because IE "emits a sound when a window is blocked.

So there is probably a collision of major policy on user workstations if your c# application tries to display web pages specific to WebHelp. If users want to block the popups for web surfing in general, they are unable to see specific pages for WebHelp and vice versa. Ugh.

A possible workaround is to say 'Always show popups in separate tabs' (in Options/general/Tabs/settings). I tried this setting and then uncommented my code blocks CSH_DISPLAY_CONTEXT/etc. As expected, all of the characters added on the forced URL pages display, which meant that IE the treated as pop up windows and pressed new tabs.

So what you're actually seeing is

(1) a new instance of Internet Explorer has become visible,

(2) the path to the help system (more control characters listed in the appendix) is shown on the first tab (in my case, file:///C:/Documents%20and%20Settings/kkkwj/My%20Documents/RoboHelp%206.0/Dummy/HTMLHelp/!) SSL!/Webhelp/whcsh_home.htm#ID=2). It's weird, because the main URL I fed in to the API in the above code was "C:\\...path\\Dummy.htm" (with a the ContextID parameter 2 =). I have no idea how my Dummy.htm was changed to whcsh_home.htm by the API. Go figure. I guess the switch takes place if characters appearing in the annex are found on the end of the URL, and the switch is made to support the context somehow ID.

(3) the desired page is displayed in a separate tab in Internet Explorer.

My conclusions are:

(1) adobe should solve their examples to save the people all this headache. They must fix the code, making the visible browser and provide a nice documentation about what the secret syntaxes are for characters added)

(2) the argument with the pop-up windows is not worth. So I will call my higher level help system all the time and give up the usefulness of context-sensitive help. It's too much problem with WebHelp. (Of course, context-sensitive help works very well with the old WinHelp_4, but WinHelp_4 has other limits.)

A long process to debug this. Adobe fell from short on this one. But I hope others can use my ads here in a time of need. (Thanks to Adobe for the forums and for a quick response Peter.)

Tags: Adobe

Similar Questions

  • a small question, how to call from a script "redraw force"?

    For purposes of "debugging", I would like to call from a script a refreshment 'force' the window of current layout (default keyboard shortcut SHIFT + F5). I can't find anything like that in the DOM, and I thought to invoke a menu... but cannot find the menu item for it either...

    anyone?

    Or perhaps minimize, maximize the specific layoutWindow of the document?

    'Force refresh' should be available by its ID 318 value:

    //Invoke the menu "Force Redraw":
    try{app.scriptMenuActions.itemByID(318).invoke()}catch(e){$.writeln(e.message)};
    

    Uwe

  • How to call from one form to another form when you press the button.

    Hi all...

    I have two forms "A" AND "B".

    A form contains two items of text as->customer_id and total_amount

    B form contains two 4 text items like-> customer_id, total_amount, paid_amount and balance.

    A form has a button, pressed button this form must call form b and then the text element of form B customer_id,total_amount take values automatically from shape A customer_id ,total_amount .

    PLEASE HELP ME...

    I call form B from A, with success, but don't understand how to take values automatically from form A fom B...

    Try the PL/SQL code that is used to trigger when-pressed next button:

    Declare

    pl_id ParamList;

    BEGIN

    pl_id: = Get_Parameter_List ('tmpdata');

    IF this is Id_Null (pl_id) THEN

    Destroy_Parameter_List (pl_id);

    END IF;

    pl_id: = Create_Parameter_List ('tmpdata');

    Add_Parameter (pl_id, 'customer_id", TEXT_PARAMETER,: Customer_id");

    Add_Parameter (pl_id, 'total_amount', TEXT_PARAMETER,: Total_amount);

    OPEN_FORM ("B", ACTIVATE, No_Session, pl_id);

    END;

  • How to call our 'Welcome' WebHelp Pro page

    RH9, HR Server 9, WebHelp Pro

    I am the content developer, and I need to give the correct address to distribute to the start page to our network administrators. Should this page named "Index.htm" or can it be something else which indicate us as the default page?

    I understand that this works differently for WebHelp Pro for WebHelp.

    Can someone clarify for me the "best practices" to name the start page when the generation of the WebHelp Pro and when you distribute the URL to the users, create hyperlinks in Help and so on.

    In addition, how to create URLS that open specific pages with the table of contents frame already open.

    Thank you

    Mike

    Index.htm is not the default page, this is the start page. The difference being that the start page is the three executives who take the toolbar, the navigation pane and the topic pane. The topic pane, that's what shows the default theme.

    If follows that the content is not a topic the the file name index.htm that RoboHelp will have to rename them.

    If you were referring to the start page, then blog Colum will tell you more. http://www.cmcandrew.com/robocolumn/archives/2693

    I know that Colum used without problems, but the Adobe line is that it is not supported. I think that the reason is simply that it has not been tested, but I don't know that for some. Your call.

    Is there a reason to oppose index.htm?

    See www.grainge.org for creating tips and RoboHelp

    @petergrainge

  • How to call the filter PS in my own PlugIn MFC

    There are several filters in PS that I use frequently. But it's so bad to find a. I want to write a plugin so that I can see all the filters that I want in the same interface. I try. But when I called filter in my plugin, he always told me that something was wrong and the plugin can't do anything. Can someone tell me how to call from the PS code MFC called Plugin.My filter filter was subsequently. I don't know what's wrong. (ps: my English is so poor... I don't know if there is a syntax error. Sorry).

    Test PIActionDescriptor = NULL;

    SPErr error = kSPNoError;

    Result PIActionDescriptor = NULL;

    error = sPSActionDescriptor-> do (and test);

    sPSActionDescriptor-> PutEnumerated (test, 'GEfk', 'GEft', 'EOPS');

    sPSActionDescriptor-> PutInteger (test, keyEdgeThickness, 2);

    sPSActionDescriptor-> PutInteger(test,keyEdgeIntensity,6);

    sPSActionDescriptor-> PutInteger(test,keyPosterization,2);

    error = sPSActionControl-> Play (& result, eventPosterEdges, test, plugInDialogSilent);

    You can only use the routine to play in an Automation plugin. filters are for access to the pixels only. They can do what an Automation plugin.

  • How to call a shade of the library

    Hello

    I'm writing a script to create a new document from the AI with a restricted swatchbook. The designer is supposed to use only the ink/color chart provided by this script.

    So far, I was able to delete all current shades and add a shade spotcolor CMYK or RGB.

    var inkt02 = app.activeDocument.spots.add ();

    inkt02. Name = ' inkt 2';

    inkt02.colorType = ColorModel.SPOT;

    var kleur02 = new CMYKColor();

    kleur02. Black = 10;

    kleur02.cyan = 80;

    kleur02.Magenta = 0;

    kleur02. Yellow = 90;

    inkt02. Color = kleur02;

    var newSpotColor = new SpotColor();

    newSpotColor = inkt02;

    newSpotColor.tint = 100;

    thePallet.addSpot (newSpotColor);

    Often we discuss Pantone colors. No need to define these, since they are already inside GOT it, no? But how to call from the library?

    I'm new to ExtendScript, but this forum (and google) helped me along well so far :-)  I do not have a case of practical use for this yet, but I decided on this exercise as a good way to learn more about ExtendScript.

    There is no access to the samples library, other than the main Swatches palette. You must add these PANTONE to a document, and then open or place this document to have access to them.

  • How can I make a phone call from Apple Watch after the update of the software lasted?

    I don't know how to make a phone call from my Apple Watch after this update. I need help

    Hello

    Under watch OS 3, the friends feature (which was available in previous versions) comes over and there is no direct replacement for it.

    When making calls or sending of new messages, contacts instead can be selected via the phone and Messages applications or using Siri:

  • How much will it cost me to receive calls from landlines or mobile phones?

    Should I buy an online number, how much does it cost to receive calls from the fixed network or mobile on my Skype online number?

    Hello

    It doesn't cost anything to receive a call to your Skype #. As it is all just a regular landline # calling anything that pays for its carrier to call this #.

    TIME ZONE - US EAST. LOCATION - PHILADELPHIA, PA, USA.

    I recommend that you always run the latest version of Skype: Windows & Mac

    If my advice helped to solve your problem, please mark it as a solution to help others.
    Please note that I usually do not respond to unsolicited private Messages. Thank you.

  • How can I create a function using variables TestStand and call from Meadow step Expression?

    In one sequence, I have dozens of prior Expressions, which are almost the same thing, like this...

    Locals.tagID = (Parameters.singlePhaseEnabled? ('L': "D") & Str (Locals.phase) & "006".

    .. and the only thing different is this three-digit string in the end ("006" may vary). How can I write a function that I can call from Meadow step Expression then it should look like this? ...

    Locals.tagID = MyNewFunction("006")

    You can not write custom expressions for commands.

    That being said, there are two options:

    • Create a sous-suite with a single step. Use a setting of the sequence as "function parameter.

    • Create a step type custom including a lower level module that implements the function. Add a step edit to allow the user to the steptype graciously change the setting.

    • Store the variable setting in a local global variable / file and change the value in each step. This will, at least, keep the same 'function' for each step.

    Norbert

  • I got a phone call from a person claiming to be from the care team of the windows service how they got my number

    I got a phone call from a person claiming to be from the care team of the windows service how they got my number and I took his number, I think it's fake

    Hello

    There are telephone directories, etc., etc.

    It's a SCAM

    they want or money on your part for programs without value or make an identity theft on you to get even more money and get your internet banking passwords and credit card information, you get allows you to download the software to 'fix' or 'test' for your computer

    read this:

    http://www.Microsoft.com/security/online-privacy/msName.aspx

    Microsoft has none of the unsolicited telephone calls to help you fix your computer

    In this type of scam cybercriminals are calling you and claim to be of Support technique Microsoft. They offer help with your computer problems. Once scammers have earned your trust, they try to steal and damage your computer with malicious software, including viruses and spyware.

    Although the law enforcement can trace phone numbers, often authors use pay telephones, disposable cell phones or stolen cellular phone numbers. Better avoid fooling themselves rather than try to repair the damage afterwards.

    Treat all unsolicited sceptically telephone calls. Don't provide personal information.

    If you receive an unsolicited call from someone who claims to be from Technical Support Microsoft, hang up. We do not have such calls.

    If you think you might be a victim of fraud, you can report it. For more information, see: what to do if you think you have been scammed.

  • How to use Skype to call from my computer to another computer

    Original title: how to call a computer to

    Hello

    I can't find the instructions on how to use Skype to call from my computer to another computer so that I can get the video. Help.

    TIA,

    RS

    For a first test, the simplest method is to organize before a time and date when you're both already connected to the internet and connected to Skype.

    Then, they appear as 'online' in your Skype contact list. And communicate with them through that. Do not use the phone number.

    You need to get them in your contact list, if they are not already in it.

    Skype: Add contact

    https://support.Skype.com/en/FAQ/FA3281/how-do-i-add-contacts-in-Skype-for-Windows-desktop

  • How to make a call from CPO to vCO (vcenter orchestrator)?

    How to make a call from CPO to vCO (vcenter orchestrator)?

    Hello

    I am trying to create a workflow that would connect to a vCO.

    I was Expecting

    1. how to create targets for the vCO and

    2. how acess that target.

    Concerning

    Shiva

    1) there is no target for the vCO. We have a target/connection to Virtual Center (vCenter)

    (2) If you want to make vCO calls you could do, it all depends on how the API is structured. You can make calls via web services or CLI, etc.

    If you give your use case it is perhaps more to discuss. If you need an ENH or put something in, you can open a case with the TAC.

  • I got call from you subject contactIn my pc. Some have said that it would be crah on me how to

    I got call from you today on my pc. Some have said that it would be crashon me how to

    It was a call from the scam. Don't let them access your PC or give them information.

  • How to use today's date in liquid when it is called from a campaign by email

    I have an email campaign that is configured to run every 7 days and I want to restore specific entries of a Web application based on the current date.

    I use the below in the content of the email:

    {module_webapps myCategory = 'Cat1' render = "collection" template="/layouts/custom/rounds-collection.tpl" id = "cms-towers" filter = "all"}

    and within the referenced model, I use the below to get today's date.

    {assign % = globals.site.dateNow | date: "yyyy-MM-dd" | convert: 'day'-%}

    The problem is that globals.site.dateNow makes whites when called from a campaign by e-mail.

    If I use the same method as before in a web page (rather than an email campaign), it works perfectly so I guess that globals.site.dateNow is not available in an email campaign.

    That's why I tried another way which is to pass another parameter of the module including the delivery date of the email (as shown below):

    {module_webapps myCategory = make 'Cat1' myDate = "{tag_deliverydate}" = "collection" template="/layouts/custom/rounds-collection.tpl" id = "cms-towers" filter = "all"}

    It is however is to make meanings like 'text' in the email. He has successfully replaced the {tag_deliverydate} with 'October 19, 2015', but it does not then decipher the tag module. I guess it's a bit a chicken and the egg tag thing which should make first.

    How do date 'today' or "email delivery date" available in my template file, then use this value in my liquid logic in an email campaign?

    You cannot run javascript in the emails.
    What you try to you can still.

  • How could call a report from another report?

    Dear developers,

    How could call a report from another report?

    is this possible? and what is the call statement?

    Note: I use the 6i report



    Thanks in advance,


    Bil

    Hello

    It seems that you 'open' a quote before: orderby.
    You must "close" this quote after: orderby

    SRW.run_report ("report = SDCRVRF106 Cl_NO ='|"'|: CLIENT_no | "") ' || ' d1='||'''' || :D1 ||'''' ||' d2='||''''||:D 2 ||'' ' |' orderby =' | '''|| : o rderby | " ') ;

    concerning

Maybe you are looking for