Consultor Eletrônico



Kbase P97797: How to programatically retrieve Progress version, including service pack and temporary fix levels by
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   19/11/2004
Status: Unverified

GOAL:

How to programatically retrieve Progress version, including service pack and temporary fix levels ?

FACT(s) (Environment):

OpenEdge 10.x
Progress 9.1D

FIX:


The following sample code makes calls to versioninfo.dll to retrieve the Progress version infomation.
/* ts-version.p - BEGIN */
PROCEDURE getFullVersion EXTERNAL "versioninfo.dll" :
DEFINE OUTPUT PARAM pcver AS CHARACTER.
DEFINE INPUT PARAM pilen AS LONG.
DEFINE RETURN PARAM iret AS LONG.
END.
PROCEDURE getVersion EXTERNAL "versioninfo.dll" :
DEFINE OUTPUT PARAM pcver AS CHARACTER.
DEFINE INPUT PARAM pilen AS LONG.
DEFINE RETURN PARAM iret AS LONG.
END.
PROCEDURE getMajorNumber EXTERNAL "versioninfo.dll" :
DEFINE RETURN PARAM iret AS LONG.
END.
PROCEDURE getMinorNumber EXTERNAL "versioninfo.dll" :
DEFINE RETURN PARAM iret AS LONG.
END.
PROCEDURE getMaintenanceLevel EXTERNAL "versioninfo.dll" :
DEFINE OUTPUT PARAM pcver AS CHARACTER.
DEFINE INPUT PARAM pilen AS LONG.
DEFINE RETURN PARAM iret AS LONG.
END.
PROCEDURE getServicePackNumber EXTERNAL "versioninfo.dll" :
DEFINE RETURN PARAM iret AS LONG.
END.
PROCEDURE getTemporaryFixNumber EXTERNAL "versioninfo.dll" :
DEFINE RETURN PARAM iret AS LONG.
END.
PROCEDURE getBuildNumber EXTERNAL "versioninfo.dll" :
DEFINE RETURN PARAM iret AS LONG.
END.

DEF VAR vc AS CHAR.
DEF VAR vi AS INT.
vc = FILL( ' ', 256 ).
RUN getFullVersion( OUTPUT vc, INPUT 256, OUTPUT vi ).
MESSAGE "Full version" vc VIEW-AS ALERT-BOX.
RUN getBuildNumber ( OUTPUT vi ).
MESSAGE "Build Number" vi VIEW-AS ALERT-BOX.

/* ts-version.p - END */