New features added to Compaq Visual Fortran (Visual Fortran) Version 6.5A
(since Visual Fortran Version 6.5) include the following:
- The Fortran COM Server now allows
you to select an out-of-process (.EXE) COM server. Users now have a
choice of the type of server,
either a DLL (in-process) COM server and an EXE (out-of-process)
COM server. Other Fortran COM Server enhancements allow
array arguments to be assumed shape and you can now add the ISupportErrorInfo
interface to your server.
- The following new compiler options have been added:
- /assume:[no]protect_constants specifies whether constant
actual arguments can be changed.
- /check:arg_temp_created requests that a run-time
informational message appear if actual arguments are copied into temporary storage
before routine calls.
- /warn:ignore_loc requests that the compiler issues
warnings when %LOC is stripped from an argument
- The following new ATTRIBUTES directives have been added:
ALLOW_NULL, DECORATE, IGNORE_LOC, and NOMIXED_STR_LEN_ARG
- The optional KIND argument has been added to INDEX, LEN_TRIM, MAXLOC,
MINLOC, SCAN, and VERIFY intrinsic procedures.
- For additional new features and details, see the online release
notes (
relnotes.txt
or relnotes.htm
).
- New or significantly revised sections in the Programmer's Guide based on customer feedback
include
Coding Requirements for Fortran Windows Applications,
Using Menus and Dialogs in SDI and MDI Fortran Windows Applications,
Using the Resource Editor to Design a Dialog, and
Compatibility with Compaq Fortran on Other Platforms.
- The section Pointer Arguments in the Language Reference
has been significantly revised based on customer feedback.
New features added to Compaq Visual Fortran Version 6.5 (since
Visual Fortran Version 6.1) include the following:
- The Fortran COM Server project type and the Fortran COM Server Wizard, described in
Creating a COM Server. The Fortran COM Server Wizard
helps you create a COM server or dual interface server. In addition, new information about
using COM and Automation is provided in Getting a Pointer
to an Object's Interface.
- New COM routines are provided:
- Visual Fortran now generates optimized code for the
IntelTM PentiumTM III,
AMDTM K6, and AMD
AthlonTM architectures, by providing new keywords for
the /arch and /tune compiler
options.
- New intrinsic procedures added:
- New exception handling routines are provided:
- The new QuickWin graphics routine SETTEXTCURSOR
has been added to set the height and width of the text cursor (the caret) for the
window in focus.
- The interface to the AUTOAddArg subroutine has
changed. The output_arg argument (LOGICAL) is now the intent_arg argument
(INTEGER). New code should use the new documented interface. The old interface
is supported for compatibility purposes.
- New information about advanced exception handling and setting up
various types of handlers for x86 systems is provided
in Advanced Exception and Termination
Handling Considerations.
- For non-native unformatted files, you can now use the
FORT_CONVERT.ext or FORT_CONVERT_ext
environment variable method to specify that files with certain file extensions
(such as .DAT) are in a specified non-native format
(see Methods of Specifying the Data Format).
(Visual Fortran's native numeric formats are little endian, including IEEE
floating-point formats.)
- Previous versions of Visual Fortran allowed only procedures
and COMMON blocks to have the DLLEXPORT or
DLLIMPORT ATTRIBUTE.
You can now export/import module variables and
arrays.
- A Visual Fortran compiled module now contains all of the information
from modules used (USE statement) by the module. This may greatly increase the
size of compiled modules, especially if the modules contain a
USE DFWIN
or USE DFWINTY
statement. There are ways to minimize the information
contained in compiled modules when calling Win32 routines, as described
in Calling Win32 Routines and the Visual Fortran
Windows Module.
- In order to conform with clarified wording in the Fortran 95
standard, the compiler has been changed so that when
a READ
statement encounters an end-of-file condition, and there is no
END specifier but there is an ERR specifier, the ERR= branch is
not taken. Similarly, if an end-of-record condition occurs but
there is no EOR specifier, an ERR branch is not taken. If you
do not specify a routine to handle such errors with the IOSTAT
specifier, omitting the END or EOR specifier results in a
severe run-time error
(such as numbers 24 or 268 respectively).
- The run-time system has been changed to perform more thorough edit
checking on list-directed input. In accordance with the Fortran 95 Standard, the
run-time system no longer accepts as numeric input
"+", "-", ".", "D", "E", or "Q"
without expressing at least 1 digit. For example, the
run-time system used to allow a single "+" to convert to a 0, but now it will
return a FOR$IOS_LISIO_SYN (number 59) error. In addition, ambiguous expressions
such as "+-" and "--" will be rejected
- Support has been added for reading nondelimited character strings as input for
character NAMELIST items.
- The %VAL and %REF used
on actual arguments now override any argument-passing mechanism specified
in an explicit interface.
- New Visual Fortran Samples (described in Roadmap
to the Visual Fortran Samples) are provided, including:
- COM sample: Adder
- DIALOG sample: Celsicon
- ExceptionHandling samples: ClearFP, Cslexp2, Cslexp4, GetEptrs,
Vbvf1, and Winexcp1
- Isovar sample (ISO varying strings)
- Mixed-language samples, new samples for MASM and Delphi
- QuickWin samples: Conapp, Dirkeys4, PostMini, and Resize
- Isovar, an ISO varying string sample
- Compiling modules is now faster.
- Concurrent-use licensing is now available.
- For additional new features and details, see the online release
notes (
relnotes.txt
or relnotes.htm
), located in the root directory
of the Visual Fortran CD-ROM or installed
in Program Files\Microsoft Visual Studio\Df98
.
- New or significantly revised sections in the Programmer's Guide based on customer
feedback include Specifying Consistent Library Types and
Using the Console.
Changes to Compaq Array Visualizer are described separately in the Array
Visualizer HTML Help documentation.