Difference between revisions of "Visual Prolog 9 Upgrade Notes"
(initial) |
(Optioanl parameters) |
||
(One intermediate revision by the same user not shown) | |||
Line 18: | Line 18: | ||
== PFC Includes and packages == | == PFC Includes and packages == | ||
After loading the project you should rebuild the entire project with the help of the '''Build -> Rebuild All''' command and answer '''Yes All''' | After loading the project you should rebuild the entire project with the help of the '''Build -> Rebuild All''' command and answer '''Yes All'''/'''Delete All''' to the messages suggesting adding/removing packages and include statements. You may have to build again several times to complete the build process. | ||
Notice that you should simply delete include directives to PFC files which cannot be found: proper include directives will (normally) be inserted automatically. | Notice that you should simply delete include directives to PFC files which cannot be found: proper include directives will (normally) be inserted automatically. | ||
Line 33: | Line 33: | ||
<vp>ioCompletionPort</vp> does not exist anymore, all the things that depended upon it now uses <vp>threadpool</vp> instead. For most things you don't need anything instead of the <vp>ioCompletionPort</vp> the default <vp>threadpool</vp> will automatically be used instead. There is a default threadpool, i.e. <vp>threadpool::defaultThreadpool</vp>. | <vp>ioCompletionPort</vp> does not exist anymore, all the things that depended upon it now uses <vp>threadpool</vp> instead. For most things you don't need anything instead of the <vp>ioCompletionPort</vp> the default <vp>threadpool</vp> will automatically be used instead. There is a default threadpool, i.e. <vp>threadpool::defaultThreadpool</vp>. | ||
Due to optional arguments existing predicates may conflict with each other. Some of these conflicts can be handled by removing the predicate without output arguments, others by renaming a predicate or using the <vp>[mandatoryOut]</vp> attribute. See {{lang2|Terms|Optional parameters|Optional parameters}}. | |||
== See also == | == See also == |
Latest revision as of 00:14, 27 February 2020
This document describes how to upgrade Visual Prolog 8 projects to Visual Prolog 9, for older projects you should also read Visual Prolog 8 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 9 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 (x86)\Visual Prolog 9 or C:\Program Files\Visual Prolog 9.
- The Personal Edition will by default be installed to C:\Program Files (x86)\Visual Prolog 9PE or C:\Program Files\Visual Prolog 9PE.
Visual Prolog 9 projects are backward-compatible with Visual Prolog 8 projects. If you are going to use different versions of Visual Prolog installed at one computer, avoid opening projects by double-clicking on vipprj files.
Notice it is highly advisable to have a backup of a project before updating.
eliminate where
where is a reserved keyword in Visual Prolog 9, so it is highly advisable to eliminate the use of that word before upgrading the project.
PFC Includes and packages
After loading the project you should rebuild the entire project with the help of the Build -> Rebuild All command and answer Yes All/Delete All to the messages suggesting adding/removing packages and include statements. You may have to build again several times to complete the build process.
Notice that you should simply delete include directives to PFC files which cannot be found: proper include directives will (normally) be inserted automatically.
Many projects will only require:
- Accept to remove all unexisting packages
- Accept to add required packages
- Delete all include directives for files that does not exist
- Accept to add include directives
It is recommended that you continue the process above until process stabilizes, before you start performing any manual updates.
Manual updates
ioCompletionPort does not exist anymore, all the things that depended upon it now uses threadpool instead. For most things you don't need anything instead of the ioCompletionPort the default threadpool will automatically be used instead. There is a default threadpool, i.e. threadpool::defaultThreadpool.
Due to optional arguments existing predicates may conflict with each other. Some of these conflicts can be handled by removing the predicate without output arguments, others by renaming a predicate or using the [mandatoryOut] attribute. See Optional parameters.