* *** begin test clear DIME a_UsedDS(1,1) NumOfDSFound = ASESSIONS(@a_UsedDS) ?NumOfDSFound DISPL MEMO LIKE a_UsedDS return * *** end test * *** ********************************************************************** * *** ASESSIONS() * *** by Gunnar Philipp * *** 03/21/2003 * *** ********************************************************************** FUNC ASESSIONS LPARA ; ArrayPointer LOCAL ; ReturnValue, ; i, ; MaxLoop, ; GotError, ; OldError, ; OldDS * *** set var OldDS = SET("datasession") ReturnValue = 0 MaxLoop = 50 OldError = ON("error") ON ERROR GotError = .T. * *** proccess FOR i=1 TO MaxLoop GotError = .F. SET DATASESSION TO i IF GotError = .F. * *** existing datasession MaxLoop = MaxLoop + 1 ReturnValue = ReturnValue + 1 DIME ArrayPointer(ReturnValue, 1) ArrayPointer(ReturnValue, 1) = i ENDIF ENDFOR * *** clean-up ON ERROR &OldError SET DATASESSION TO OldDS RETURN(ReturnValue) ENDFUNC