Can't Autoload my BRX

I know I'm late, but just getting to grips with my v24 builds…

Something has changed between v23 and v24 such that my BRX will no longer autoload. If I start a clean profile and set the support paths I can APPLOAD my application. However, if I arxload via an MNL file or try to 'AutoLoad' via the APPLOAD dialog, BricsCAD just hangs on startup.

Since I'm not even getting to the start of On_kInitAppMsg, I don't think it's my code per se. Is there any other reason why my app might not be able to load 'early' in the startup process?

Comments

  • Sounds like your still referencing BRX23 SDK, Try using this super cool dependency checker

    https://github.com/lucasg/Dependencies

  • Thanks - I already tried that - but if that were the case my BRX would not load under any circumstance. The fact that I can APPLOAD it and it works post BricsCAD startup suggests something in the startup sequnce is going awry.

  • just to add, Usually, if you can’t step into On_kInitAppMsg, it’s a dependency issue.

    I had one of my apps hang in bricscad, I had something wonky in OnIdleWinMsg, I changed my code to do something else and did not investigate further

  • But if it was a missing dependency, it would still be missing at APPLOAD no? This has been working since ~BricsCAD 15-ish. Literally all I did for this build was change the paths to the v24 SDK and rebuild - but it's quite hard to see what is happening in the startup. This is the last thing in the debug output before the hang:

    "BRXDLL/register OdRx class tree extensions
    BRXDLL/construction of static instances
    BRXDLL/DllMain/DLL_PROCESS_ATTACH
    BRXDLL/onLoadBrxDll
    BRXDLL/AcEdCommandStack::addCommand/group = BRX_DEV_HELPER, global name = brxOpenObjects, local name = brxOO
    BRXDLL/AcEdCommandStack::addCommand/group = BRX_DEV_HELPER, global name = brxAllObjects, local name = brxAO
    BRXDLL/AcEdCommandStack::addCommand/group = BRX_DEV_HELPER, global name = brxVerbose, local name = brxVerbose
    BRXDLL/AcEdCommandStack::addCommand/group = BRX_DEV_HELPER, global name = brxLogOn, local name = brxLogOn
    BRXDLL/AcEdCommandStack::addCommand/group = BRX_DEV_HELPER, global name = brxLogOff, local name = brxLogOff
    BRXDLL/AcEdCommandStack::addCommand/group = BRX_DEV_HELPER, global name = brxProfilerOn, local name = brxPOn
    BRXDLL/AcEdCommandStack::addCommand/group = BRX_DEV_HELPER, global name = brxProfilerOff, local name = brxPOff
    BRXDLL/AcEdCommandStack::addCommand/group = BRX_DEV_HELPER, global name = brxDbgOn, local name = brxDbgOn
    BRXDLL/AcEdCommandStack::addCommand/group = BRX_DEV_HELPER, global name = brxDbgOff, local name = brxDbgOff"

  • I found the issue after lots of back-and-forth in the debugger…

    At the start of my app class constructor I had:

    CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows)); 
    

    I can't even remember what I was fixing by adding this! However, moving it to On_kInitAppMsg solves the problem.