Announcement

Collapse
No announcement yet.

EFs cannot find DLL

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

  • EFs cannot find DLL

    can anyone throw any light on the criteria for an EFS (10.6) to find a DLL
    in the installed folder \eSignal?

    created a static C++ MFC dll and using

    var myDLL = new DLL("MyDLL.dll");

    the EFS "cannot find ..."

    but

    var myDLL = new DLL("ESGrid1100as.dll");

    (ESGrid1100as.dll is installed with eSignal)

    and all ok.
    Paul Williams
    Strategy & Applications
    www.futurenets.co.uk

  • #2
    eSignal seems to like to find C++ DLL's created using Win32 DLL projects

    but it would be nice to know exatly what the criteria is?
    Paul Williams
    Strategy & Applications
    www.futurenets.co.uk

    Comment


    • #3
      using Visual Studio 2010 & 2012
      Paul Williams
      Strategy & Applications
      www.futurenets.co.uk

      Comment


      • #4
        if DLL does not have a

        _tmain (unicode project)

        then eSignal will not find it. Can anyone at eSignal advise if this is true?
        Paul Williams
        Strategy & Applications
        www.futurenets.co.uk

        Comment


        • #5
          just got this from eSignal KB

          File location
          The DLL files must be located in either:
          1. The same folder as the EFS or in the FunctionLibrary folder.
          In this case it is not required to define a path in the DLL call. The EFS engine will first search the folder containing the EFS and if no DLL is found it will search the FunctionLibrary folder.
          2. A sub-folder of the folder containing the EFS or a sub-folder of the FunctionLibrary folder.
          In this case a path is required in the DLL call. The path must be relative to the folder containing the EFS or to the FunctionLibrary folder.
          Absolute paths are not allowed.
          DLLs cannot be called if they are located outside of the Formulas or FunctionLibrary root folders, so any path that specifies a location outside of these folders will cause an error eg var myVar = new DLL(“../myDLL.dll”); // generates an errorSpecifying a relative path using parent references '../' is not recommended, it can be denied in future releases. var myVar = new DLL(“myFolder/../myDLL.dll”); // not recommended
          64bit and 32bit
          1. For the 64bit application the file needs to be a 64bit dll. The file name must have the characters x64 appended to it for example myDLLx64.dll
          In the DLL() call the x64 suffix used in the file name must be omitted eg
          var myVar = new DLL(“myDLL.dll”);
          The formula engine will sense the 64bit environment and will automatically append the x64 suffix to the DLL call.
          2. For the 32bit application the file needs to be a 32bit dll. No special file naming is required

          This arrangement allows developers to include DLL files for both environments without the need to provide separate formulas
          but no mention of what DLL's are found.

          Viisual Studio is a popular development environment so what DLL projects can be found by the EFS?
          My final question is
          Paul Williams
          Strategy & Applications
          www.futurenets.co.uk

          Comment


          • #6
            For the 64bit application the file needs to be a 64bit dll
            anyone know what 64bit project type is being referred to here?
            Paul Williams
            Strategy & Applications
            www.futurenets.co.uk

            Comment

            Working...
            X