Visual Prolog 7.3 Upgrade Notes

From wiki.visual-prolog.com

Revision as of 14:08, 21 May 2010 by Thomas Linder Puls (talk | contribs) (headers)

This document describes how to upgrade Visual Prolog 7.2 projects to Visual Prolog 7.3, for older projects you should also read Visual Prolog 7.2 Upgrade Notes.

If you have problems with upgrading your projects and need additional information, you are welcome to ask questions in Visual Prolog Discussion Forum.

By default, the installation of Visual Prolog 7.3 will not replace any previously installed versions. It is possible to work with several versions on a single computer.

  • The Commercial Edition will by default be installed in C:\Program Files\Visual Prolog 7.3.
  • The Personal Edition will by default be installed to C:\Program Files\Visual Prolog 7.3PE.

Visual Prolog 7.3 projects are backward-compatible with Visual Prolog 7.2 projects. If you are going to use different versions of Visual Prolog installed at one computer, avoid opening projects by double-clicking on prj6 files. Some changes might require automatic updates in Visual Prolog 7.2 projects. Therefore, it is recommended to make the project file (PRJ6) writable before the first build. Also, it is recommended to make copies for all project files first.

When your open a project in the Visual Prolog 7.3 IDE, it will automatically perform necessary updates of the project file. After this, it is recommended that you rebuild the entire project with the help of the Build | Rebuild All command and answer "Yes to All" to the messages suggesting adding or removing packages / modules.

Manual updates

This section describes things that may need manual updates.

apicall

Predicates with apicall calling convention should not longer have resolve xxxx externally. The resolves that gives a compilation error should simply be deleted.

Ambiguous null

Autogenerated COM code from older versions may give ambuguity errors for constructions like: uncheckedConvert(iXxxx_native, null) the ambiguity will disappear by gualifying null with ::

uncheckedConvert(iXxxx_native, ::null)

See also