/*
** Locate-ADPro.adpro
**
** $VER: Locate-ADPro.adpro 1.1.0 (26.10.93)
**
** This ARexx program will attempt to find a currently running ADPro.
** If one is not found, then it will attempt to start up ADPro.
**
** The main guts of this program are imbedded in a sub-routine to make
** it easier to glue into your own code.
**
** This script requires ADPro v2.5.0 (or higher).
**
** Copyright © 1991-1993 ASDG, Incorporated
** All Rights Reserved
*/


OPTIONS RESULTS

NL = '0A'X
SQ = '27'X
DQ = '22'X
TRUE  = 1
FALSE = 0

CALL Locate_ADPro

IF (RESULT = 1) THEN
	SAY "ADPro has been found"
ELSE
	SAY "Could not locate or start ADPro"

EXIT 0


Locate_ADPro:
	Max_Seconds_To_Load = 60
	Flag = 0
	LibName = 'rexxsupport.library'

	IF (POS( LibName, SHOW( 'Libraries' ) ) = 0) THEN
		ADDLIB( LibName, 0, -30, 0 )
	IF (POS( LibName, SHOW( 'Libraries' ) ) = 0) THEN
		RETURN 0

	IF (STATEF( 'ADPRO:' ) = "") THEN
		RETURN 0

	TIME( 'R' )
	DO WHILE (TIME( 'E' ) < Max_Seconds_To_Load) & (POS( 'ADPro', SHOW( 'Ports' ) ) = 0)
		IF (Flag = 0) THEN DO
			/* Set whatever command line arguments you want. */
			ADDRESS COMMAND 'Run < NIL: > NIL: ADPRO:ADPro BEHIND MAXMEM=5000000'
			Flag = 1
		END
		ADDRESS COMMAND 'Wait 1'
	END
	IF (POS( 'ADPro', SHOW( 'Ports' ) ) = 0) THEN
		RETURN 0
	ELSE
		RETURN 1
