*work for the compiler (might be in some header file): #IF VERSION(5)<800 THEN #DEFINE dnVersion7_Prog 'YES' * Older then Version 8.00 #ENDIF &&VERSION(5)<800 #IF VERSION(5)<900 THEN #DEFINE dnVersion8_Prog 'YES' * Older then Version 9.00 #ENDIF &&VERSION(5)<900 #IF VERSION(5)<1000 THEN #DEFINE dnVersion9_Prog 'YES' * Older then Version 10.00 #IF RIGHT(VERSION(4),4)='7423' THEN *SP2 KB968409 #DEFINE dcV9SP '7423' #ELSE &&RIGHT(VERSION(4),4)='7423' #IF RIGHT(VERSION(4),4)='5815' THEN *SP2 #DEFINE dcV9SP '5815' #ELSE &&RIGHT(VERSION(4),4)='5815' #IF RIGHT(VERSION(4),4)='3504' THEN #DEFINE dcV9SP '3504' #ELSE &&RIGHT(VERSION(4),4)='3504' *VFP9 vanilla #DEFINE dcV9SP '2412' #ENDIF &&RIGHT(VERSION(4),4)='3504' #ENDIF &&RIGHT(VERSION(4),4)='5815' #ENDIF &&RIGHT(VERSION(4),4)='7423' #ENDIF &&VERSION(5)<1000 *runtime code (need to be in the main prog) #IFDEF dnVersion7_Prog THEN IF VERSION(5)>799 THEN MESSAGEBOX('Falsche Version',MB_IconInformation) RETURN .F. ENDIF &&VERSION(5)>799 #ELSE &&dnVersion7_Prog #IFDEF dnVersion8_Prog THEN IF !BETWEEN(VERSION(5),800,899) THEN MESSAGEBOX('Wrong Version") RETURN .F. ENDIF &&!BETWEEN(VERSION(5),800,899) #ELSE &&dnVersion8_Prog #IFDEF dnVersion9_Prog THEN IF !BETWEEN(VERSION(5),900,999) THEN MESSAGEBOX(''Wrong Version") RETURN .F. ENDIF &&!BETWEEN(VERSION(5),900,999) IF !RIGHT(VERSION(4),4)==dcV9SP THEN MESSAGEBOX("Wrong Servicepack") RETURN .F. ENDIF &&!RIGHT(VERSION(4),4)==dcV9SP #ENDIF &&dnVersion9_Prog #ENDIF &&dnVersion8_Prog #ENDIF &&dnVersion7_Prog