*h file #IF VERSION(5)<800 THEN #DEFINE dnVersion7_Prog 'YES' && Ist älter als Version 8.00 #ENDIF &&VERSION(5)<800 #IF VERSION(5)<900 THEN #DEFINE dnVersion8_Prog 'YES' && Ist älter als Version 9.00 #ENDIF &&VERSION(5)<900 #IF VERSION(5)<1000 THEN #DEFINE dnVersion9_Prog 'YES' && Ist älter als Version 10.00 #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 &&VERSION(5)<1000 *prg #IFDEF dnVersion7_Prog THEN *Only if version lower the VFP 8 #DEFINE REMOVEPROPERTY * #DEFINE DOEVENTS DOEVENTS() PROCEDURE EVL LPARAMETERS; tv1,tv2 RETURN IIF(EMPTY(tv1)tv2,tv1) ENDPROC &&EVL #ENDIF &&dnVersion7_Prog #IFNDEF dnVersion7_Prog THEN TRY blabla catch endtry #ELSE &&dnVersion7_Prog on error blabla #ENDIF &&dnVersion7_ProgThere is a stack of h files, and somewhere in it's top those constants are defined. All what I need is to compile with the target version.
#IFDEF dnVersion7_Prog THEN IF VERSION(5)>799 THEN MESSAGEBOX('Falsche Version',MB_IconInformation) RETURN False ENDIF &&VERSION(5)>799 #ELSE &&dnVersion7_Prog #IFDEF dnVersion8_Prog THEN IF !BETWEEN(VERSION(5),800,899) THEN MESSAGEBOX('Falsche Version',MB_IconInformation) RETURN False ENDIF &&!BETWEEN(VERSION(5),800,899) #ELSE &&dnVersion8_Prog #IFDEF dnVersion9_Prog THEN IF !BETWEEN(VERSION(5),900,999) THEN MESSAGEBOX('Falsche Version',MB_IconInformation) RETURN False ENDIF &&!BETWEEN(VERSION(5),900,999) IF !RIGHT(VERSION(4),4)==dcV9SP THEN MESSAGEBOX('Falsches Servicepack',MB_IconInformation) RETURN False ENDIF &&!RIGHT(VERSION(4),4)==dcV9SP #ENDIF &&dnVersion9_Prog #ENDIF &&dnVersion8_Prog #ENDIF &&dnVersion7_Prog <pre>>How do you develop in SP2 but distribute in SP1? What if you develop something that is not available in SP1?