1
0
-1

Hi Freaks

We have to use ERiC (Requirement by german tax authority)
A customer could have several ERiC-dll's on its computer. (Different environments like test and production)
Not the problem, as I add the correct path the the DOS-path before loading of the DLL.
This way, a customer can set the path without using the ASN-File / user_3gl

All is implemented and works well, but ...

Now a costomer do have a separated ERiC installation not in our scope.
This installation modified the PATH variable wich will set on stratup of windows

As I add our path to the end of PATH, UnifAce will load the wrong DLL grumbel 
Adding to the front could have impact to other things

Is there any way to tell UnifAce at runtime from inside the proccode which DLL to load?
$signatureproperties will be a candidate for this, but unfortunatly, ths function works only for SOAP-signatures

Yes, I do have a workaround:
user "[user_3gl]" with /preload, but this is then fix in the ASN-File and not variable

Any idea?

Ingo



    CommentAdd your comment...

    3 answers

    1.  
      1
      0
      -1

      Hi Ingo,

      you can set [user_3gl] section with /preload in your ASN file then have an interactive functionality able to modify it, probably usable only from "Application Admins" user group.

      Anyhow, an extension of $signatureproperties() outside the SOAP perimeter would be welcome in all cases when a Uniface application MUST interface an external piece of software, owned by a third company; it will let Uniface application be more robust.

      Gianni

        CommentAdd your comment...
      1.  
        1
        0
        -1

        Hi Stijn
        I know such solutions

        But in our application, it is possible to customize thousends of things.
        The settings are stored in database and keyed by a keyword and user_id.

        In the "worst" case a user can change this settings and reset the application without leaving it.

        And ERiC itselfs wrote in its examples

        Eric::ladeEricApi(const std::string &apiVerzeichnis)
        {...
        libEricApi = Resolve::library(System::dateiPfad(apiVerzeichnis,ericapiDateiname).c_str());
        EricInitialisierePtr = ladeFunktion<EricInitialisiereFun>("EricInitialisiere", libEricApi);
        ....
        }

        They recomend to open the library with path.
        So UnifAce as a moderen program language should do the in the same way (smile)

        Ingo



          CommentAdd your comment...
        1.  
          1
          0
          -1

          We have a own written launcher that creates dynamically the full ASN and INI files at runtime.

          In this launcher we also set the path variables

            CommentAdd your comment...