Difference between revisions of "Visual Prolog 7.3 Upgrade Notes"

From wiki.visual-prolog.com

(Category)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This document describes how to upgrade Visual Prolog projects created by previous versions of Visual Prolog to Visual Prolog 7.3.
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 [http://discuss.visual-prolog.com/viewforum.php?f=2 Visual Prolog Discussion Forum].
If you have problems with upgrading your projects and need additional information, you are welcome to ask questions in [http://discuss.visual-prolog.com/viewforum.php?f=2 Visual Prolog Discussion Forum].
   
   
== Upgrading from 7.1 & 7.2 ==
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'''.


# By default, the installation of Visual Prolog 7.3 will not replace any previously installed versions. The new version of Visual Prolog Commercial Edition (CE) will be installed by default to '''C:\Program Files\Visual Prolog 7.3'''. The new version of Visual Prolog Personal Edition (PE) will be installed by default to '''C:\Program Files\Visual Prolog 7.3PE'''.
Visual Prolog 7.3 projects are backward-compatible with Visual Prolog 7.2 projects.
You can remove a previous version or continue working with both.
If you are going to use different versions of Visual Prolog installed at one computer, avoid opening projects by double-clicking on prj6 files.
# Visual Prolog 7.3 projects are backward-compatible with Visual Prolog 7.1 & 7.2 projects.
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.
# 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.1 & 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.
# After this, it is recommended you rebuild the project with the help of the '''Build | Rebuild All command''' and answer "Yes to All" to the messages suggesting adding or removing packages / modules.


=== Note ===
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.
# Depending on Visual Prolog version, you are upgrading your projects from, some additional actions described below might be required.


== Upgrading from 7.0 & 6.x ==
== Manual updates ==


Alongside with the actions described in the section "Upgrading Projects from Visual Prolog 7.1 & 7.2", some additional actions might be required to upgrade projects from the versions earlier than Visual Prolog 7.1.
This section describes things that may need manual updates.


# Visual Prolog 7.3 projects are not fully backward-compatible with Visual Prolog 7.0 and Visual Prolog 6.x projects. <br />Visual Prolog 7.0 and earlier IDE will not allow opening projects modified by Visual Prolog 7.3 IDE.<br />It is recommended to create a backup copy of your project before opening it by the Visual Prolog 7.3 IDE.
=== apicall ===
# If you are going to use Visual Prolog 7.3 simultaneously with Visual Prolog 7.0 or an earlier version at the same computer, it is recommended to switch the IDE setting "Open Project at Startup" in the previous version OFF, to prevent opening Visual Prolog 7.1 projects in the earlier IDE.<br />Note that beginning with Visual Prolog 7.1, projects are not opened at startup, and, hence, the setting "Open Project at Startup" is not used anymore.
# The following keywords were introduced:<br />
#* In Visual Prolog 7.1: <vp>properties</vp>, <vp>try</vp>, <vp>catch</vp>, <vp>finally</vp> and <vp>elseif</vp>.
#* In Visual Prolog 7.0: <vp>if</vp>, <vp>then</vp>, <vp>else</vp>, <vp>foreach</vp> and <vp>do</vp> <br />That means that they can no longer be used as identifiers.
# Stronger treatment of types introduced in Visual Prolog 7.0 might require some changes in your program: typically change of declarations or insertions of explicit conversions might be necessary.
# Reference domains are not supported since Visual Prolog 7.0. If your project uses reference domains, we recommend you reading the "[http://wiki.visual-prolog.com/index.php?title=How_To_Remove_Reference_Domains_from_a_Project How To Erase Reference Domains from a Project]" tutorial.
# G-stack is not used anymore since Visual Prolog 7.0. Hence, all G-stack related predicates have been removed.
# Beginning with Visual Prolog 7.0 some accelerator keys have been changed to comply with Microsoft standards.
# The format of specifying a fully-qualified (i.e. with an arity) predicate with a return value in <vp>resolve</vp>/<vp>delegate</vp> predicates from qualifications has been changed since Visual Prolog 6.2: <vp>predicateName//N</vp> => <vp>predicateName/N-></vp>. This may cause error messages while building your project in the latest version of Visual Prolog.
# Predicates <vp>div</vp> and <vp>mod</vp> have changed their meaning for negative numbers.


In Visual Prolog 6.1
Predicates with <vp>apicall</vp> calling convention should not longer have <vp>resolve xxxx externally</vp> (but it is still legal to resolve such predicates from a DLL, i.e. they can have <vp>resolve xxxx externally from dll_name</vp>). The resolves that gives a compilation error should simply be deleted. Also, such predicates cannot anymore have clauses (therefore, the declared <vp>apicall</vp> calling convention should be changed).
<vip>-1 = -5 div 3
-2 = -5 mod 3</vip>


Since Visual Prolog 6.2
=== Ambiguous null ===


<vip>-2 = -5 div 3
Autogenerated COM code from older versions may give ambuguity errors for constructions like: <vp>uncheckedConvert(iXxxx_native, null)</vp> the ambiguity will disappear by gualifying <vp>null</vp> with <vp>::</vp>
+1 = -5 mod 3</vip>


So, each file that contains <vp>div</vp> or <vp>mod</vp> in the projects created in Visual Prolog 6.1 should be checked, whether it works correctly. The simplest solution is to replace:
<vip>uncheckedConvert(iXxxx_native, ::null)</vip>
 
div => quot
mod => rem
 
in all source files.
 
== Upgrading from 5.x ==
 
Prolog Development Center provides the [http://www.visual-prolog.com/vip6/Product/migration.htm Migration Tool] that will assist you to migrate your Visual Prolog 5.x projects into Visual Prolog 6.x projects.
 
After migrating your projects into Visual Prolog 6.x, follow the recommendations above to upgrade your projects to the latest version of Visual Prolog.


== See also ==
== See also ==


* [[New Features in Visual Prolog 7.3]]
* [[New Features in Visual Prolog 7.3]]
* [[Visual Prolog 7.2 Upgrade Notes]]


 
[[Category:Release Notes|7.3 Upgrade Notes]]
 
[[Category:Release Notes]]

Latest revision as of 11:54, 14 May 2018

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 (but it is still legal to resolve such predicates from a DLL, i.e. they can have resolve xxxx externally from dll_name). The resolves that gives a compilation error should simply be deleted. Also, such predicates cannot anymore have clauses (therefore, the declared apicall calling convention should be changed).

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