What's new in Gardens Point Component Pascal (GPCP) 1.4.08

Apr 11, 2019
  • The most important change, from the user point of view is that there is a syntax extension for the dummy definition modules that are used to interface to .NET libraries written in other languages. Most interfaces are created by the tools PeToCps (on .NET) or J2CPS (on JVM), but hand-written definitions are still required when Component Pascal programs need to link to system libraries on both platforms. Platform-agnostic definition modules now need to be explicit as to whether foreign classes have or do not have a no-arg constructor. Details of this change are in section 7.1.1 of the release notes.
  • A fix to PeToCps now enables programs using System.Windows.Forms to compile correctly.

New in Gardens Point Component Pascal (GPCP) 1.4.07 (Mar 29, 2018)

  • Version 1.4.07 for JVM has several improvements to the way in which gpcp interfaces with the JVM libraries. It also has significant improvements to the features of the foreign language symbol file compiler, j2cps. For foreign libraries the html interface browser files have pop-up help.
  • The semantics of GPBinFiles.readByte at EOF have been harmonized between JVM and .NET platforms. This may be a breaking change for JVM-hosted programs that expect to catch an EOFException. See the ChangeLog for details.
  • Version 1.4.07 for .NET has several improvements to the way in which gpcp interfaces with the .NET libraries. It also has significant improvements to the features of the foreign language symbol file compiler, PeToCps. For foreign libraries the html interface browser files have pop-up help.
  • The semantics of GPBinFiles.readByte at EOF have been harmonized between JVM and .NET platforms. This may be a breaking change for JVM-hosted programs that expect to catch an EOFException.

New in Gardens Point Component Pascal (GPCP) 1.4.06 (Feb 24, 2018)

  • Gardens Point Component Pascal v1.4.06 for .NET
  • This version has a new implementation of PeToCps which uses the System.Reflection library to read PE-files, rather that the binary PE file reader/writer PERWAPI. PERWAPI has now been removed from the distribution.
  • In the absence of this library gpcp-NET will create PE-files by writing MSIL assembly language files and then calling ILASM. The next release will build on the current changes by using the System.Reflection.Emit library to create its output files.

New in Gardens Point Component Pascal (GPCP) 1.4.05 (Dec 17, 2017)

  • This release incorporates all of the target-agnostic changes and bug-fixes in gpcp-JVM v1.4.04. It is the first step in the process of eliminating the use of the PERWAPI PE-file-writer from gpcp-NET. For this version all PE-files are generated by emitting an msil assembly language file and invoking Microsoft's ILASM utility. Future versions will allow the use of ilasm or directly write files using System.Reflection.Emit
  • All of the example programs distributed with historical releases of gpcp have been restored, under the documentation directory.
  • The layout of the distribution has been changed from previous versions, and is aligned with that of the JVM-hosted version v1.4.04.
  • There is a new utility MakeIndex that creates an index file "index.html" in the symbol-browse directory. This allows all of the browse files in the system to be accessed from the index.
  • Standard library ProgArgs contains a new procedure ExpandWildcards that allows .NET programs hosted on
  • Windows to behave in the same way as the JVM-version. A use case for this facility is shown in gpcp.cp itself, which now behaves the same way on the two hosts when give the command line argument gpcp *.cp
  • The default target version of the .NET runtime is now version 4.5, and the binaries in this release are built for that version.