Navigation  without Java Scripts

Known Problems in 5.1

We are currently aware of the following problems in Visual Prolog 5.1. We are working on solving these problems in one of the future versions of Visual Prolog.

Known Compiler Problems
Known Problems in the PROLOG.LIB
Known Problems in the Visual Development Environment (VDE)
Known Problems in the VPI
Known Problems with the Debugger
Known Problems with the PDC Link Editor
Known Problems with the PDC's Document Handling Package

Known Compiler Problems

Last call optimization does not work for functions and Class methods

Please be aware of this. It is going to be implemented in one of the following versions.

An error in using of a non-static object

Since the current version of Visual Prolog does not check whether an object exists, an attempt to use a non-static class member (a predicate or a fact) after deleting of an appropriate object causes an error.

CLASS cA
   PREDICATES
      p1
ENDCLASS
   FACTS - base1
     f1(cA)
IMPLEMENT cA
CLAUSES
    p1.
ENDCLASS
GOAL
      A = cA::new,
      assert(f1(A)),
      A:delete,
      f1(OA),
      OA:p1. %GPF

Known Problems in the PROLOG.LIB

The Visual Prolog "external database" has different formats in 16 and 32 bit

This is inconvenient and will be changed in a future version. One of the results is that the 16bit VDE uses one .VPR file for a project and the 32bit VDE uses another format. The program VIPCONVERT must be used to switch between the platforms.

Problems of trapping exceptions in  DLL's.

If a GPF or other exception happens in a prolog .DLL, which is called from a Prolog main program, and linked in statically, this exception is trapped in the main program (but not as expected in the .DLL). After this exception is trapped wrongly you should not make further calls to the .DLL, but instead close down your application.

There are no problems when calling a .DLL dynamically, and in proper debugged programs this situation will not happen.

Known Problems in the VDE

Compiling of unmodified modules

A call of the procedures of creating of a project ("Build"; "Run" or "Debug") causes compiling of unmodified modules if a project includes non-prolog modules (C, CPP), for which OBJ-file has been created and "Generate Debug Information" option in the Compiler Options Dialog is ON.

Spaces in filenames when using C as main target

The VDE, the linker and the compiler have problems with using external C compilers and linkers placed in directories, which contain spaces.

The Visual Prolog does understand quoted filenames like "c:\program files\msvc\bin\link.exe" but the problem is that the PATH to the C compiler is set in one place, and the utility names in other places. This creates problems in the concatenating of the two items.

Things work if you manually modify the scripts.

A little trick you might use, if you have some tools installed under PROGRAM FILES\, is that you instead refer to the name short DOS name, e.g.  "PROGRA~1".

Conversion of HAM to 5.0 format is irreversible

After conversion of .HAM file to the 5.0 format, it is not possible to go back As soon as VIPCONV has converted a .HAM file to the new 5.0 format, it can not be converted back to the 4.0 format.

Possible BUG when Dialog Expert Pack is updating source

When using the Dialog pack, there is a significant delay while the source file is being updated. If during this time, you hit 'edit' to edit the file, then the source update is wrong.

Problem with non-existent Project on Command line

When the VIP.EXE (both 16 and 32 bit) is started with a non-existing .VPR file on the command line, it does not report an error, instead it loads the last loaded project.

Using Ctrl-X, Ctrl-C or Ctrl-V in Menu Editor

Please, note that there is the following dangerous behavior in the menu editor: If you are editing the Constant prefix then Ctrl-X, Ctrl-C or Ctrl-V do not work there. You should use the right-mouse popup menu.Comment: 5.01

Using multiprogrammer mode

The Code Expert setting for Automatic update of Source code of a resource is not saved when there is no changes in a resource (dialog, menu etc.).

Help Maker

The current version of the Visual Prolog does not allow to import the .RTF files containing graphics. An attempt to import .RTF file with embedded objects causes the necessity to restart Visual Prolog. Nevertheless, it does not mean you cannot import file with graphics at all, because it is possible to replace embedded objects in the source .RTF file with the references to image files.

Known Problems in the VPI

EasyWin does not support C as main Target

Modeless dialog ‘Tab’ problem.

Tab does not work for the modeless dialogs, which have modal dialog as a parent.

Known Problems with the PDC Linker

An internal error while import of functions of a DLL

There comes an internal error while import of functions of a DLL with extension different from .DLL (e.g. winspool.drv).

Visual Studio uses a new format for Import libraries

Workaround: Use the computibility option in Visual Studio to generate 5.0 compatible import libraries.

Known Problems with the Debugger

The values of output variables are sometimes not displayed

The values of output variables are sometimes not displayed while using the predicates findall and not.

Debugger  immediately jumps to the continue point with no visual indication of a fail.

Known Problems with DOC_TOOL

The .RTF parser bug in using colored fonts

There is a little bug: if a colored phrase in RTF document is followed by a table (right after) then this table erroneously is colored too.

Workaround: add any uncolored char (single blank) just after the colored phrase.