static char BASED_CODE szFilter[] = "HTML Files (*.xls)|*.xls|All Files (*.*)|*.*||";
is an array and cannot be changed by an assignment statement, you should code it as:
static char BASED_CODE *szFilter = "HTML Files (*.xls)|*.xls|All Files (*.*)|*.*||";
Incidentally, why are you trying to change it to the exact same string?