Gen EDGE

  • 1.  Failed to load DLL MAINMENU.DLL, 998

    Posted Dec 08, 2017 11:00 AM

    Hi,

     

     I need your help in resolving below error. Can you please suggest me.

     

    My requirement is to create a new Client window and that client window has to invoke existing MainMenu client program after user clicks a push button.

     

    i am using an exit state link to call main menu. Problem is main menu client is not starting/execute. I get error message "Failed to load dll mainmenu.dll, 998"

     

    But when mainmenu.exe is double clicked it is running properly. 

     

    i did build all clients from the application but unable to solve the issue.

     

    can you please suggest.

     

    with thanks

    vijay

    viqch5@gmail.com



  • 2.  Re: Failed to load DLL MAINMENU.DLL, 998

    Broadcom Employee
    Posted Dec 10, 2017 05:50 PM

    Hi Vijay,

    In the past when this error has occurred we have typically advised regeneration and rebuild of all the code, but it sounds like you have already done that.

    You can run Dependency Walker on mainmenu.dll to check for any potential dependency related problems (Dependency Walker (depends.exe) Home Page)

    However if it was a dependency problem you would expect that the mainmenu.exe would also fail if it is using the same version of the mainmenu.dll. Are you sure you are picking up the correct version of mainmenu.dll from the new client? 

     

    Other than that:

    a. You might want to check you are picking up the correct version of the Gen runtime corresponding to the version of Visual Studio you are using.

    What version of Gen & Visual Studio are you using?

    Are you testing the new client from the Build Tool or Windows Explorer?

    b. Use the Diagram Trace Utility (DTU) to confirm the exact place the problem occurs and accuracy of any related data. 

     

    Hope it helps. If still no progress I would suggest to login to support.ca.com and create a new  case for more detailed diagnosis by Support.

    https://comm.support.ca.com/csupport/CaseManagement/cases/new

     

    Regards,

     

    Lynn



  • 3.  Re: Failed to load DLL MAINMENU.DLL, 998

    Posted Dec 11, 2017 05:14 AM

    Hi Lynn,

     

    Thanks for your response. Please see below my response to your response

     

    Are you sure you are picking up the correct version of mainmenu.dll from the new client? - 

    I will explain the process we follow here. After code changes done to the main menu, we build the program. Since the mainmenu.exe failed to load, we usually copy only the mainmenu.dll and mainmenu.chm files from ief to our application folder and start using the application. The application is running fine. We use old mainmenu.exe file instead of recently created one and put it in our application folder. Things were working fine until we write a new screen that should invoke the main menu. 

     

    What version of Gen & Visual Studio are you using? - CA GEN 8.0 and VS 2010

    Are you testing the new client from the Build Tool or Windows Explorer? In both ways of testing, dll fails.

     

    I will go ahead and create a case for this issue. 

     

    thanks

    vijay

    viqch5@gmail.com

     

     

     



  • 4.  Re: Failed to load DLL MAINMENU.DLL, 998

    Posted Dec 11, 2017 12:47 PM

    Hi Vijay,

     

    IMHO 998 is is a win32 system error code (System Error Codes (500-999) (Windows) ) which is only disguised by the gen runtime.

    It means ERROR_NOACCESS 998 (0x3E6) Invalid access to memory location, so I suspect there might be something wrong with the views passed to mainmenu.dll. As the error occurs on in mainmenu.dll it prob will not get what it expects.

     

    So maybe you should look at all views passed over the flow, checking if something has changed, (eg cardinality, some datatype or length, order ) that will change the memory footprint of passed data. May try to unmatch/match flow data.

     

    Calling mainmenu.exe is  a different story, it will use initialized views, so this is expected to work.

     

    Good Luck,

    Thomas