bin/protopenv.bat stamps the DLC directory as the one that was used at install



  • Usually this is fine, particularly on a server, but if I already have a %DLC% variable set I don't really want protop overwriting it. I have 5 Progress versions installed in order to provide support in the correct version for the relevant customer. If I want to look at CRUD stats whilst developing I need ProTop to connect to the DB with the correct version of shared memory.

    I've updated the top of my protopenv.bat as follows:

    @echo off

    IF DEFINED DLC (ECHO DLC IS defined) ELSE (set DLC=C:\Progress\OP3395~1)
    set PROTOP=C:\ProTop
    set LOGDIR=C:\ProTop\log
    set TMPDIR=C:\ProTop\tmp
    set RPTDIR=C:\ProTop\rpt
    set PROXY=


  • administrators

    I'm sorry but I do not understand the problem. Nor the solution.

    I might be having a bad day but I'm coming up empty trying to figure out what the issue is.



  • Sorry Tom. I'll try and explain. I installed ProTop from the 11.7 64bit Proenv. The protopenv.bat was given the DLC directory to match. But when I want to use ProTop to monitor a database that has been started under 11.6 32 bit, for example, I start that proenv and "protop dbname". But now the protopenv.bat runs and overwrites the DLC variable for 11.6 with that of 11.7 that is hard coded in the batch file. I then get shared memory version errors.
    The solution I've put in only sets DLC to the hard coded one if it isn't already set by some other means - in other words, if we're running proenv with DLC already set, please don't stamp all over it with a hard coded version.
    If that still doesn't help explain then maybe I can show you on Skype at some point?


  • administrators

    I think I get it. You want Windows to behave like UNIX 🙂 You know, you could just apply The Linux Patch 😉

    The UNIX protopenv sets DLC like this:

    DLC=${DLC-/usr/dlc117}
    

    Thus DLC only picks up the "install" value if it is not already defined. That seems to be what you are doing with:

    IF DEFINED DLC (ECHO DLC IS defined) ELSE (set DLC=C:\Progress\OP3395~1)
    

    I guess I could probably tweak protopenv.bat to accommodate that.



  • Yes that sounds exactly what I am trying to achieve 😄


  • administrators

    I had a bad result with this - it seems to interfere with the icons somehow.

    (Yes, that might mean that I am testing on Windows. For the record I regret it already.)


  • administrators

    The parenthesis are a bad idea. You really want to do it like this:

    if "%DLC%"=="" set DLC=D:\Progress\OpenEdge11.7
    

 

Looks like your connection to ProTop Community was lost, please wait while we try to reconnect.