MicroStation V8i SS4: documentation for Access String?

Hi Experts,

Where can I find the documentation about "access string" and how to use it? Is it an obsolete concept in SS4?

In the "DialogItemRsc Structure" section of MicroStation Programmer Guide CHM file, the word "access string" is in the description of the auxInfo field:

Contains additional item-specific information. Currently, this field is used only to override the access string defined in an item resource. This ability enables the item to act as it is defined in the item resource but affect a different application variable. 

However, when I searched for "access string" in the CHM, I can only find some text or sample code comment referring to it, but not an instruction to describe what it is. I then looked at a document of old MicroStation version (version 5): http://documentmanagement/lldm01/llisapi.dll/open/101416101  

In the old document, I found the following description: An access string defines a program variable to associate with a dialog item. This allows you to change program variables (called settings) from a dialog box without using a hook function. Element placement and manipulation commands will reference these settings. The MDL debugger is ideal for inspecting access string while the application is running. For information on access strings, see "Dialog Box Manager Overview" on page 15-1.

However, I cannot this kind of description in SS4 help doc, so I feel it maybe obsoleted from documentation but still effective in SDK ... just like MDL debugger.

Parents
  • Where can I find the documentation about "access string" and how to use it?

    Jan's given you a comprehensive answer, so let me explain in a different way.

    MicroStation's Dialog Manager was designed (yes, 30 years ago!) to handle data exchange between an application variable and a dialog item.  For example, suppose you have an integer variable nCount that is displayed by a text item.  How does that variable's value appear in the text item so we can see it?

    With many development tools, the programmer must explicitly copy a variable to the dialog item.  For example, with C# we must write:

    Form.txtCount.Text = Integer.ToString (nCount);

    With MDL, that happens automatically.  To enable that mechanism, the following must be true...

    • The Dialog Manager must know about your variable nCount
    • The dialog item must know what variable it should display

    Dialog Manager

    We inform the Dialog Manager about our app variables by publishing them.  The act of publishing a variable means that we tell the Dialog Manager the variable's name and its address.  There is a set of functions for that purpose: mdlDialog_publishXxx.

    Access String

    We write the name of the variable in our dialog item resource as the access string...

    DItem_TextRsc TEXTID_Count = 
    {
    NOCMD, LCMD, NOSYNONYM, NOHELP, MHELP,
    NOHOOK, NOARG, 12, "%d", "%d", "", "", NOMASK,
    TEXT_NOCONCAT, "Count", "nCount"
    };
    

    When the above conditions are met, then the Dialog Manager handles exchange of data between our app and its dialog boxes automatically.

    Is it an obsolete concept in SS4?

    It remains valid in MicroStation V8i and MicroStation CONNECT.  Although the mechanics of the mechanism are cumbersome, it works well.  It provides the best way to interact with MicroStation.  Once you understand the concepts, it makes dialog boxes easy to use and with less work for the programmer than other technologies.

     
    Regards, Jon Summers
    LA Solutions

Reply
  • Where can I find the documentation about "access string" and how to use it?

    Jan's given you a comprehensive answer, so let me explain in a different way.

    MicroStation's Dialog Manager was designed (yes, 30 years ago!) to handle data exchange between an application variable and a dialog item.  For example, suppose you have an integer variable nCount that is displayed by a text item.  How does that variable's value appear in the text item so we can see it?

    With many development tools, the programmer must explicitly copy a variable to the dialog item.  For example, with C# we must write:

    Form.txtCount.Text = Integer.ToString (nCount);

    With MDL, that happens automatically.  To enable that mechanism, the following must be true...

    • The Dialog Manager must know about your variable nCount
    • The dialog item must know what variable it should display

    Dialog Manager

    We inform the Dialog Manager about our app variables by publishing them.  The act of publishing a variable means that we tell the Dialog Manager the variable's name and its address.  There is a set of functions for that purpose: mdlDialog_publishXxx.

    Access String

    We write the name of the variable in our dialog item resource as the access string...

    DItem_TextRsc TEXTID_Count = 
    {
    NOCMD, LCMD, NOSYNONYM, NOHELP, MHELP,
    NOHOOK, NOARG, 12, "%d", "%d", "", "", NOMASK,
    TEXT_NOCONCAT, "Count", "nCount"
    };
    

    When the above conditions are met, then the Dialog Manager handles exchange of data between our app and its dialog boxes automatically.

    Is it an obsolete concept in SS4?

    It remains valid in MicroStation V8i and MicroStation CONNECT.  Although the mechanics of the mechanism are cumbersome, it works well.  It provides the best way to interact with MicroStation.  Once you understand the concepts, it makes dialog boxes easy to use and with less work for the programmer than other technologies.

     
    Regards, Jon Summers
    LA Solutions

Children
No Data