Error code 77842 of function mdlSystem_newDesignFile

Hello,
what could mean error code 77842 of function mdlSystem_newDesignFile (Bentley::MstnPlatformNET::Session::Instance->NewDesignFile)? Nowhere I found a link to possible error codes of this function.
I'm using MS CE Update 10 (and prerelease of Update 11).
Thank you for your answer

Jaroslav Omasta

  • Hi Jaroslav,

    Are you attempting to create a new DWG or V7 design file format? Do you attempt to create the file local or over a network (mapped) share location? Could you provide a text file containing your current workspace settings? In MicroStation CONNECT type: "show configuration" then zip and attach the file for additional review.

    To decode 77842 (decimal) to identify the exact header file error code you can do the following:

    1. Open your preferred calculator (calc.exe in Programmer mode will do fine)
    2. Type the decimal error code encountered: e.g. 77842, noting the hex value conversion: 0x13012
    3. Drop/trim the remainder to be a rounded down value and search the SDK: e.g. SDKSearch 0x13000
    4. You should find an appropriate header where the hex value is defined: e.g. ..\include\DgnPlatform\DgnPlatformErrors.r.h:36:    DGNOPEN_STATUS_BASE = 0x13000,
    5. Open the file at the line number presented.
    6. Search the macro (e.g. DGNOPEN_STATUS_BASE) used in an enum/define (providing additional case/value conditions available)
    7. Identify the exact match for the hex error by looking for the MACRONAME +0xORIGINALHEXOFFSETTRIMMED (e.g. DGNOPEN_STATUS_BASE + 0x12)
    8. In this example the error: 77842 (decimal) equates to: DGNOPEN_STATUS_OpenCanceled = DGNOPEN_STATUS_BASE + 0x12

    The above error could possibly emanate from trying to create a MicroStation V7 design file or DWG in a MS_WORKMODE or compatibility mode setting that may be in conflict with the API request.  If you can provide information to the questions above and workspace information I can try to see if I can identify something more specific.

    Thank you,
    Bob



  • Hi Bob,
    thank you for your quick and comprehensive answer. It can be seen that I have not programmed in MDL for a few years when I’m not able to find the meaning of the error code ...
    However, I will answer your questions later because I have to deal with something else.
    I wish you a nice day and I'll be back in time

    Jarek

  • It can be seen that I have not programmed in MDL for a few years when I’m not able to find the meaning of the error code ...

    I think that you can be forgiven for that.  I was somewhat taken aback by Bob's description of the tortuous path we must follow to understand that error code: it's hardly intuitive.

    Who would have thought that we must search up to fourteen #include files to find an error code?  And, having found that code, to have to perform hexadecimal calculations to bring its meaning to life!

    MicroStation CONNECT Headers that contain Error Codes

    SDK\include\BeHttp
    HttpError.h
    
    SDK\include\Bentley\Tasks
    AsyncError.h
    
    SDK\include\DgnGeoCoord
    GeoCoordErrors.h
    
    SDK\include\DgnPlatform
    DgnPlatformErrors.r.h
    RasterAttachmentOverride.h
    
    SDK\include\DgnPlatform\DgnFileIO
    historyErrors.r.h
    
    SDK\include\Mstn
    MicroStationApiErrors.r.h
    
    SDK\include\Mstn\MdlApi
    dberrs.h
    fonterr.h
    LevelTableErrors.r.h
    mdlerrs.r.h
    
    SDK\include\RasterCore
    RasterCoreApiErrors.r.h
    
    SDK\include\RmgrTools
    RmgrToolsErrors.h
    
    SDK\include\TerrainModel
    TerrainModel.h
    
                  14 Files
    

     
    Regards, Jon Summers
    LA Solutions

  • Hi Bob,
    I have found that the error occurs on the MS CE prerelease Update 11 only when I translate our application with SDK and DLL libraries for MS CE U11 prerelase. When I translate our application with the SDK and DLL libraries for MS CE U6,8,10, everything works. Maybe I have a poorly installed version (or SDK) of MS CE 11 (prerelease). Anyway, thank you once again for your quick reaction.
    Regards

    Jarek

    Answer Verified By: Robert Hook 

  • Hi Jon,

    Hopefully you do not need to perform these types of actions often, but now have a sample/reference to refer back to if ever needed. 

    Since the (hex) error id could not be looked up explicitly, I thought it helpful to show how to go about decoding a category/range based (decimal) error number into its corresponding hex base error code (macro name identifier). Some products (like e.g. ProjectWise) provide a separate (User) convenience error lookup tool taking a hex or decimal error number or description as input, then provide the corresponding error number/description pair to help users/admins troubleshoot the category/range based error encountered.  Though a user error lookup tool likely will not provide the macro name a developer would like know/consume for reference to grep in the SDK headers.

    Bob



  • Hi ,

    Thank you so much for your update.  Please do check back once MicroStation CONNECT U11 and the respective SDK are both in release state and let us know if you still see the problem in the matched pair of software releases.  I have just submitted to run a source code and binary compatibility report between MSCE U10 and MSCE U11 so I can report any areas not fully in conformance and force a need for external applications to be recompiled and documented.

    Thank you again,
    Bob



    Answer Verified By: Jaroslav Omasta 

  • Hi Bob,
    I confirm that with official SDK 10.11.00.42 the problem persists on Windows 10. On Windows 8.1, the mdlSystem_newDesignFile call will run without error. With SDK 10.10.00.23 it works without error on both versions of Windows. Do you have any idea what to try? And are you able to reproduce this problem?
    Thank you in advance for your reply.
    Regards

    Jarek

  • Hi ,

    Unfortunately this thread does not contain too many specifics related to the workspace, file locations, and possible (unseen/hidden) errors or access issues that may be occurring.

    For the former (workspace), please re-read my first response and take a closer look at the good/bad patient workspaces (sort and compare all variables - e.g. using SHOW CONFIGURATION keyin and TKDIFF or another favorite difference tool) and especially (starting with) the design file open mode (MS_WORKMODE) used for both.

    For the latter (unseen/hidden - errors or access issues), I highly recommend using Microsoft Process Monitor (procmon) to capture the full product start up to the point of the error (then stop logging and always save as .pml) for both a good and bad patient.  Procmon has very simple and powerful filtering capabilities that can help you identify non Success and *Access* type errors that are occurring first, but not reported or with less details at a later point "of failure" (error codes/messages).

    Hopefully these two actions in order (and as-needed) will help pinpoint the exact problem you are encountering, or at least provide us with some concrete data/specifics to move forward with.

    HTH,
    Bob