Upgrading and migrating > Converting encyclopedias to current version > Changes to Microsoft Visual Basic Application macros
  
Changes to Microsoft Visual Basic Application macros
To use Microsoft Visual Basic Application macros in System Architect 9, make these changes:
Microsoft SQL Server encyclopedia access
In version 9 of System Architect the concept of a network lock file does not exist with respect to Microsoft SQL server encyclopedias. To ensure some form of exclusive use of the encyclopedia in order to avoid locking and collisions issues, two new functions were implemented: CriticalRegion and AccessDefinition.
ISAImf objects
Existing macros that use the SA2001.ISAImf object must have their Set statement changed to prevent a “Type mismatch” runtime error.
SA2001.Encyclopedia.Fullname property
If a macro has used the path to the Encyclopedia folder to locate and access a file, such as D0000001.wmf or Usrprops.txt, it must be modified for use with version 9 encyclopedias, which are maintained within SQL Server databases and store such files in a Files table. The required file will need to be exported before it can be used. The ISAImf object has an SAFileExport function that allows this.
ISAImf.SAGetEncyclopediaPath
For the same reasons as those given for not using .Fullname (above), the GetEncyclopediaPath call cannot be used to locate and access encyclopedia files.
Importing files
In some cases it might be necessary to import files into the encyclopedia so that an internal reference can be made. An example of this is when the .SetField() subroutine is used to link a picture symbol with its image file.
See also
Microsoft SQL Server Encyclopedia Access
ISAImf objects
SA2001.Encyclopedia.Fullname property
Converting encyclopedias to current version