Announcement

Collapse
No announcement yet.

Unloading DLL with modeless dialog crashes esignal

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Unloading DLL with modeless dialog crashes esignal

    Has anyone had this problem occur?
    I wrote several MFC C++ DLL's that invoke modal dialogs to configure my EFS's. I had no problem laoding and unloading my efs that referenced these DLLs.

    Once I added a DLL that opens a modeless dialog, when I unload the efs, it crashes esignal. I know it must have something to do with the references hanging around to the modeless dialog box in my DLL which gets unloaded when I unload the efs.

    But I haven't figured out how to clean up the references and get the DLL to unload without crashing winsig. Has anyone done this before and can you show me some sample code for a barebones MFC modeless dialog written in C++ and how to safely unload the DLL?

    Thanks!

  • #2
    Modeless dialogs called from EFS

    Can any moderator help me?
    This is becoming a critical issue for me.

    I need to load a modeless dialog from a C++-based DLL and I can do that. But when I unload the EFS that references this DLL, esignal crashes.

    Has anyone successfully invoked a modeless dialog from a C++ DLL hopefully written with MFC? If so, what do I have to look at to solve the crashing issue? I know it must have to do with shutting down the modeless dialog correctly because I have modal dialogs and they work fine.

    HELP!!!

    Comment


    • #3
      Hello crazytiger,

      Controlling external dialogs is not a supported operation for the EFS Dll object.
      Jason K.
      Project Manager
      eSignal - an Interactive Data company

      EFS KnowledgeBase
      JavaScript for EFS Video Series
      EFS Beginner Tutorial Series
      EFS Glossary
      Custom EFS Development Policy

      New User Orientation

      Comment


      • #4
        Unload DLL - How is this done?

        I have revisited unloading DLLs that involve modeless dialogs.
        I don't know why esignal is crashing every time I try to unload a C++ DLL that involves a modeless dialog. But this is critical for me to solve.

        I know controlling external dialogs is not a supported operation of the EFS DLL object but can someone tell me how the unload operation works when you unload an EFS file that references a loaded DLL??

        How does the EFS script clean up any reference to the DLL and what exactly happens to that reference? I know postMain is called at unload time. If I can find out how the DLL is unloaded b the EFS script, maybe I have a chance of cleaning up my DLLs successfully.

        (I tried setting the variable holding onto the DLL object to zero in postMain. This did not help. I can load and unload a few times before winsig crashes)

        Comment


        • #5
          Hello crazytiger,

          The manner in which you are attempting to use the dll object is not supported. Due to this fact, our development group is not going to be able to assign any resources to investigating the cause of this crash.

          There may be a couple of alternatives that you could explore as a possible solution. If the data that you need to pass to the external dialog is real time streaming or historical data, then you may want to take a look at our Desktop API. This will allow your custom dialog to gain access to the data without going through EFS. If you are passing data that needs to be calculated by EFS to your external dialog, then you may want to try a File I/O process.

          If neither of these alternatives will suffice for your project, please feel free to submit your specific requirements to our development team at [email protected] for future development considerations.
          Jason K.
          Project Manager
          eSignal - an Interactive Data company

          EFS KnowledgeBase
          JavaScript for EFS Video Series
          EFS Beginner Tutorial Series
          EFS Glossary
          Custom EFS Development Policy

          New User Orientation

          Comment

          Working...
          X