#DEFINE kByRef #DEFINE kOptional #DEFINE kInput #DEFINE kOutput lParameter kByRef kOptional myVarFor some strange reason two (or more) preprocessor can not be used on the same line when they are declare to nothing. if you remove one of the from the lParameter the line compile as normal.