Virtual Pascal v2.1 Beta Build 243
Paris, November 2000
(C) Copyright 2000 vpascal.com
This file is intended to give an overview of what has changed between
Virtual Pascal v2.0 and this v2.1 Beta.
Both bugfixes and new features are mentioned. Where a bug of a new feature has
been assigned a reference number, the reference number is mentioned as well.
Most changes since v2.0 are mentioned in this document. Changes done between
builds 231 and 243 are listed in sections marked "-- Changes for build 243 --".
Integrated Development Environment (IDE) and utilities
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* When debugging a GUI application using the Windows IDE, a warning message
was displayed. This message applies only to the OS/2 text mode IDE and has
been removed. (Bugfix/101)
* The Tph2Vph utility, which converts Turbo Pascal help files (*.TPH) to
compressed Virtual Pascal Help files (*.VPH) hung in Windows 95/98.
(Bugfix/102)
* The Tph2Vph utility now has the ability to add "[Name]" to the end of index
entries. This is useful because some index entries are defined multiple
times after converting and using some help files. (Feature/103)
* The IDE could not open directories with a "hidden" attribute. (Bugfix/106)
* In Windows, filenames with national language characters were not displayed
properly in the IDE. Proper use of OemToAnsi and AnsiToOem API calls have
been introduced in the relevant VpSysLow functions, and the IDE now handles
these files correctly. (Bugfix/107)
* The debugger has been changed to not display an error message if the debug
DLL returns an error code of 9999 if the debugging platform (say, DPMI) is
not supported by the debugger DLL used. (Feature/108)
* The IDE did not display directory names beginning with a dot, such as
".pascal". (Bugfix/109)
* When using Save As to save to a new filename, and that filename already
exists, a warning message is now displayed. (Feature/112)
* When pressing Ctrl-Enter to open the source file under the cursor, the IDE
was not able to find some files because it concatenated the Unit Path and
the Include Path to a maximum length of 255 characters. (Bugfix/113)
* The Window List dialog has been made larger to better accomodate long path
and file names. (Improvement/115)
* The debugger now highlights Watch items that change during exection, such as
single step. (Feature/116)
* The IDE syntax highlights nested {} comments correctly, up to a level of
32 nested comments. (Feature/605)
* The default extension for Pascal source files has been changed from .PAS to
.pas. (Improvement)
* The IDE now preserves the case of source files, by utilising the new
VpSysLow.SysFileAsOS function. (Improvement)
* The IDE now is aware of read/only attributes. When trying to save a file
with a read/only attribute, the IDE prompts whether the read/only file should
be overwritten anyway. (Improvement/117)
* The IDE now shows an "r" in the status line when a file has a read/only
attribute. It does not prevent the file from being edited, however.
(Improvement/117)
* When copying and pasting to and from the VP clipboard in Win32, national
language characters were not preserved. The IDE now performs OemToAnsi
conversion for clipboard content. (Bugfix/120)
* In the Dump window of the OS/2 IDE, Dump to file didn't work. (Bugfix/121)
* When the last action in the IDE was a Paste operation, and the program was
then single-stepped in a debug session, pressing F8 to step could cause the
block to expand unexpectedly. (Bugfix/122)
* The command line compiler is included as an experimental Linux executable.
The compiler does not include a native ELF linker; programs must be compiled
with Windows as the target platform, and the PE2ELF utility run to convert the
executables to native ELF format.
Please refer to other documentation for Linux-specific instructions.
-- Changes for build 243 --
* File->Save As did not allow existing filenames to be "renamed" to use another
case, if the file already existed. (Bugfix/119)
* A Tools menu, allowing external programs from within the IDE, has been
implemented (Feature/120 and 121)
* When the IDE warns that you are about to overwrite a read/only file, pressing
ESC was equivalent to Yes, not No. Fixed. (Bugfix/122)
* Input line fields in dialogs in VP allowed Copy (Ctrl-Insert) and paste
(Shift-Insert), but not Cut (Shift-Del) operations. (Bugfix/123)
* When pressing Ctrl-O-O, the IDE inserts all current compiler options at the top
of the editor file. If stack checkig was off, $S- was not inserted though.
(Bugfix/124)
Installation
~~~~~~~~~~~~
* Some Windows printer APIs were not imported through Import32.Lib. The
relevant API definitions have been added to the .Def and .Lib files.
(Bugfix/203)
* The new OS/2 JFS file system was not recognised (Bugfix/204)
* The binary RTL installed in \Units.%p now only includes those units that
are shipped without source code in addition to the System unit: Classes,
TypInfo and SysUtils. For users with Delphi, source code upgrades
are of course included.
-- Changes for build 243 --
* The source code upgrade for the VCL sources (Classes, SysUtils) is now
available for Delphi v5.01. (Wish/206)
* The upgrades for OWL did not work because of missing CR/LF/EOF characters
at the end of the master source files. (Bugfix/208)
* The default screen size when installing VP wass to keep the size of the
console window. Because the default size in Windows 2000 is 80x300, this
is inconvenient and the default has been changed to 25 lines. (Bugfix/209)
Documentation and Online Help
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* The help for ErrorAddr was incorrect: When Halt() is called, ErrorAddr is
nil. (Bugfix/301)
* The help for FindFirst did not properly describe the Required and Allowed
parts of the Attribute parameter. (Bugfix/302)
* Several minor typos in the OS/2 API help were fixed. (Bugfix/308)
* The IDE online help has been updated to cover new features, such as
nested comments.
* On-line help for the Classes unit has been added.
* On-line help for System.TObject has been added. (Fix/309)
* The Language Reference and User Guide PDF manuals have been updated to
cover v2.1 features.
-- Changes for build 243 --
* The help for FileExists and XcptProc has been updated. (Fix/308 and 309)
* The Licence Agreement (Licence.Txt) has been updated to clarify that it is
indeed allowed to distribute applications written in Virtual Pascal.
Run-Time Library (RTL)
~~~~~~~~~~~~~~~~~~~~~~
* The values of the two constants Local_Machine and Current_User, defined in
Windows.Pas, were swapped around. (Bugfix/402)
* The FileExists function returned TRUE, if the argument was an existing
directory name. This has been fixed, and the function now only returns TRUE
if the argument is an existing file name. (Bugfix/403)
* The IncreaseHandleCount function did not use the Count parameter.
(Bugfix/404)
* Several RTl units assumed a certain state of compiler directives, and did
not work if recompiled with different settings. The relevant directives have
been added. (Bugfix/405)
* Calling 16-bit OS/2 API functions can be dangerous, as parameters passed must
not cross a "segment boundary", once converted to 16:16 pointers. Appropriate
wrapper functions have been added to VpSysOs2, safeguarding from this
particular problem. (Feature/406)
* Several changes have been made to the RTL, preparing for proper support of
the Linux platform. The core RTL, including much of the System unit, compiles
for Linux. (Improvement/407)
* Several changes have been made to the RTL to support DPMI32. Please refer to
Veit Kannegieser's web page for details on this functionality.
* The Thread Local Storage (TLS) mechanism, used to manage variables declared
as "threadvar" has been improved markedly. Heavily threaded programs
compiled with VP v2.0 experienced problems in this area, which are now fixed.
(Bugfix/409)
* The definition of the Windows.TDeviceMode record was incorrect. (Bugfix/410)
* The Os2PmApi.MLE_SEARCHDATA structure definition was incorrect (Bugfix/411)
* The Math.IntPower function did not work when a negative Power argument was
passed. (Bugfix/412)
* A function retrieving a pointer to the current memory manager,
GetPMemoryManager, has been introduced to complement the memory management
interface. (Feature/413)
* The VString member of the System.TVarRec record should be of type
PShortString; fixed.
* The heap manager was not thread safe on multi-processor machines. Fixed.
* A new function, SysFileAsOS, has been introduced in VpSysLow. It takes a
file name as parameter, and returns TRUE if the file exists. If the file
exists, it also changes the case of the parameter passed to match the case
of the file as it exists on disk. (Feature)
* The SysFileSearch function now uses SysFileAsOS, and also returns the file
name in the correct case. (Improvement)
* The VpSysLow.SysTVGetScrMode has been changed to return a maximum of 234
lines in Windows. The Windows console mode APIs do not appear to handle
consoles larger than this.
* WinCrt.ShowText and WriteBuf have been improved to handle TAB characters
correctly. (Improvement)
* The Os2Rexx unit has been renamed to Rexx.Pas, and placed in the RTL
directory instead of in the Os2 one. A free third-party REXX interpreter
is available for Windows, and can be used with this unit. A new unit alias,
Os2Rexx=Rexx, assures compatibility with old programs. (Improvement/705)
* The Classes and SysUtils units have been extended with classes and methods
introduced in later versions of Delphi.
* The TWin32Cell type defined in VpSysW32 has been moved to the Windows unit.
* The SysReadAttributesAt function in VpSysOs2 has been changed to not AND
the returned value with $7f, making it possible to read highlighted background
colours.
* Introduced a new function, VpSysLow.SysGetVisibleLines, used to retrieve
the numbers of the top and bottom lines visible in the current shell
window.
* Introduced a new function, VpSysLow.SysGetPlatformName. It returns a string
containing the name of the current platform and is used by the new drive
substitution logic described in the user's guide.
* The Win32Cell type defined in VpSysW32 has been moved to Windows.Pas.
(Improvement/414)
* The SysClipCopy function allocated global Windows memory that was never
freed.(Bugfix/415)
* The Printer unit from Borland Pascal 7 was not included with the
RTL. (Bugfix/416)
-- Changes for build 243 --
* The System unit now handled CR/FR and LF files. (Fix/417)
* The VpUsrLow functions for managing file locks have been modified to take
a Handle as a parameter (Improvement/418)
* A new function, DirExists, has been added to VPUtils.Pas. (Improvement/419)
* The case convertion tables for OS/2, initialised in VpSysOs2, were incorrect.
(Fix/420)
* The HeapChk unit, which can be used to find memory leaks, has been
improved to handle multi-threaded programs correctly. (Improvement/421)
* The GetKeyboardState function in VPUtils has been fixed to work correctly
in Windows. (Fix/422)
* The System unit's internal heap and thread local storage management routines
have been improved and should handle better in very threaded applications.
Compiler and Linker
~~~~~~~~~~~~~~~~~~~
* Calling the Insert function with mixed AnsiString and ShortString parameters
did not work; fixed. (Bugfix/602)
* The compiler now supports nested { } comments, and the IDE is able to
syntax highlight these correctly. (* *) and // comments are not nestable.
For compatibility reasons, the ability to nest comments is controlled by
the new {&Comments} switch directive, which by default is {&Comments-}.
(Feature/605)
* The help screen of the command-line compiler (vpc.exe) has been changed to
display the directives in a manner that is easier to read.
* A bug in the linker's stub handling code caused programs with a Dos stub
to be inconsistent in 1 of 512 times.
* The compiler now implements a drive substitution scheme, which allows
the source and other directories to be placed on different volumes based on
the current operating system.
For more information on this, please refer to the User's Guide, chapter 10,
section titled "Defining new targets in the IDE".
-- Changes for build 243 --
* When an export is specified as "export abc name ''" - i.e. using an empty
export name, the linker crashed with RTE 216. (Fix/611)
* When exporting multiple entry points from a DLL and the same name was
specified in the export directive, an internal error 107 was returned. The
compiler now outputs a proper error message. (Fix/612)
* The compiler now defines a built-in conditional define, VPASCAL. This was
requested to avoid excessive typing. VIRTUALPASCAL is still defined.
(Improvement/614)
* A better error message is now output if the output directories do not exist.
The message used to be "Invalid file name". (Improvement/615)
3rd party tools
~~~~~~~~~~~~~~~
* A memory leak in TApplication.Done was fixed. (Bugfix/702)
* A bug in OpDos.TextFileSize was fixed. (Bugfix/703)
* A bug in OpDos.ExistOnPath was fixed. (Bugfix/704)
* The VCL update now works with the original VCL from Delphi 5.
* The Turbo Vision files are now included with full source code.
-- Changes for build 243 --
* In StdDlg.Pas, characters that were not allowed in Dos filenames were still
rejected as invalid. This has been updated so only "*?<>|" are considered
invalid. (Fix/709)
* In Editors.Pas line 1983, the Move statement used the wrong size (Bufsize
instead of Newsize), which could cause a crash. (Fix/710)
* In OPrinters.Pas, several fixes to the printer management code have been
added. (Fix/711)
Wyszukiwarka
Podobne podstrony:
WHATSNEWwhatsnew 1 3 7 1WhatsNewwhatsnewwhatsnewstar calc WHATSNEWwhatsnewwhatsnew 1 4WhatsNew2WHATSNEWwhatsnewwhatsnewwhatsnewwhatsnewWhatsnewwhatsnewtutorial whatsnextwhatsnew gbWhatsNew Pluginswięcej podobnych podstron