13.07.2015 Views

Caché Upgrade Checklists - InterSystems Documentation

Caché Upgrade Checklists - InterSystems Documentation

Caché Upgrade Checklists - InterSystems Documentation

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Caché</strong> 2009.1 <strong>Upgrade</strong> Checklist6.2.4 Routine Compiler Changes6.2.4.1 Macro Preprocessor CorrectionsIn previous versions, the compilation of the following statement:#dim X as %String // Length = 10would incorrectly result in a lineSet X=10Now the comment symbol, “//” is handled correctly and no code is generated. Also, the macro preprocessor now correctlyrecognizes when a statement that looks like a pre-processor directive is inside a comment. So the following will no longercompile:#include %occInclude/*A comment#IF 0Old comment*/#ELSENew comment*/#ENDIF6.2.5 Class Changes6.2.5.1 Improved Signature CheckingIn version 2008.2, signature checking in subclasses applied to all signature errors in a class. However, in some cases notall errors were reported. In version 2009.1, the compiler will now report all signature errors so they can all be fixed at once.6.2.5.2 Size Field In FileSet QueryThe Size property returned by the %File:FileSet query is changed from %Integer to %BigInt, It is possible for a file to belarger than 4GB in size.6.2.5.3 Attributes In %Dictionary.ClassDefinition Can Now Be Undefined<strong>Caché</strong> 2009.1 now allows attributes used in programmatically defining classes to be in an undefined state. Prior to this,unreferenced attributes were assumed to have their default value. Now, for each attribute in %Dictionary.ClassDefinition,there are new methods, Reset() and IsDefined().• Reset() will cause the attribute to be undefined. An undefined attribute will return the default valueon a call to Get.• Setting an attribute to any value will cause the attribute to be defined.• IsDefined() returns the defined state of its attribute.• An attribute will be used to define the resulting class only if the attribute is defined.Note:This applies only to the class, %Dictionary.ClassDefinition itself, and not for the member definition classes.138 <strong>Caché</strong> <strong>Upgrade</strong> <strong>Checklists</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!