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= -
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? -
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
-
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.)
-
The parenthesis are a bad idea. You really want to do it like this:
if "%DLC%"=="" set DLC=D:\Progress\OpenEdge11.7