readme.rtf

(44 KB) Pobierz
Delphi 7

                    Delphi 7

                 Release Notes

 

 

=======================================================

 

This file contains important supplementary and late-

breaking information that may not appear in the main

product documentation. We recommend that you read this

file in its entirety.

 

For information on new features in this release, choose

"What's New" in the online Help contents.

 

 

=======================================================

CONTENTS

 

* OTHER RELEASE NOTES INCLUDED WITH THIS PRODUCT

* NOTES AND ISSUES:

* ABOUT EDITING THE REGISTRY

* PRODUCT INFORMATION ON THE WEB

 

 

=======================================================

OTHER RELEASE NOTES INCLUDED WITH THIS PRODUCT

 

* INSTALL contains system requirements and product

  installation information.

 

* DEPLOY contains information about redistributing your

  applications.

 

* LICENSE contains information on licensing allowances

  and limitations for this product and other Borland

  software that is bundled with it.

 

    The three files listed above, along with this file,

    are installed in your main product directory

    (default: C:\Program Files\Borland\Delphi7).

 

=======================================================

NOTES AND ISSUES

 

Deprecated Components

 

    Borland is deprecating the use of TSQLClientDataSet

    and TBDEClientDataSet. Borland recommends that you

    use TSimpleDataSet for simple, two-tier

    applications. TSQLClientDataSet and

    TBDEClientDataSet are no longer displayed on the

    Component palette. If you require backward

    compatibility, you can still access

    TSQLClientDataSet and TBDEClientDataSet in the

    Demos directory (by default, C:\Program

    Files\Borland\Delphi7\Demos).

 

 

    Borland is deprecating the use of the TServerSocket

    and TClientSocket from the unit ScktComp. It is

    recommended that you use the Indy components for

    socket operations. The TServerSocket and

    TClientSocket will no longer be installed on the

    component palette by default. If you require the

    use of these components then you can install

    the design time package named dclsockets70.bpl,

    found in your bin directory. For deployment with

    runtime packages, you will need to deploy rtl70.bpl

    and any other required packages.

 

 

Changes in StrUtils

-------------------

 

The StrUtils unit contains three sets of changes, all

relating to

multi-byte character set (MBCS) support.

 

   * Previously, LeftStr, RightStr, and MidStr each

     took and returned AnsiString values, and did not

     support MBCS strings. Each of these functions has

     been replaced by a pair of overloaded functions,

     one that takes and returns AnsiString, and one

     that takes and returns WideString. The new

     functions correctly handle MBCS strings. This

     change breaks code that uses these functions to

     store and retrieve byte values in AnsiStrings.

     Such code should use the new byte-level functions

     described below.

 

   * New functions LeftBStr, RightBStr, and MidBStr

     provide the byte-level manipulation previously

     provided by LeftStr, RightStr, and MidStr.

 

   * New functions AnsiLeftStr, AnsiRightStr, and

     AnsiMidStr are the same as the new AnsiStr

     LeftStr, RightStr, and MidStr functions, except

     that they are not overloaded with equivalent

     WideString functions.

 

 

XP Themes

---------

 

This build does not include a manifest for your

projects. To tell your applications to use version 6.0

of comctl32.dll you need to create and edit the

manifest yourself.

 

There are two ways to do this:

 

1. With a stand-alone manifest file added to the same

   directory of the executable.

 

2. With a manifest included in the executable as a

   resource.

 

 

For the stand-alone manifest follow these steps:

 

I) Using Notepad create a file called

   "Project1.exe.manifest" and add the following lines:

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1"

manifestVersion="1.0">

<assemblyIdentity

processorArchitecture="*"

version="1.0.0.0"

type="win32"

name="Project1"/>

<description>Project1 Description</description>

<dependency>

<dependentAssembly>

<assemblyIdentity

type="win32"

name="Microsoft.Windows.Common-Controls"

version="6.0.0.0"

publicKeyToken="6595b64144ccf1df"

language="*"

processorArchitecture="*"   />

</dependentAssembly>

</dependency>

</assembly>

 

II) Save the file and place it in the same directory as

    the application executable.

 

If you don't like the idea of having the manifest as a

separated file you can include it into your executable

as a resource.

 

I) Create a resource file (again using Notepad)

   containing the following line:

 

   1 24 "Project1.exe.Manifest"

 

II) Compile the resource file with brcc32.exe with the

    following command:

 

   C:\Project1> brcc32 WindowsXP.RC

 

III) Now add the following line to your project's main

     form:

 

   {$R WindowsXP.RES}

 

 

NOTE: To automatically configure XP Themes in your

      project you can use the XP Application Wizard

      demo. For more information see the readme file in

 

       Demos\ToolsAPI\XPAppWiz

 

 

.NET compiler warnings

----------------------

 

The Delphi 7 dcc32 compiler now supports three

additional compiler warnings:  Unsafe_Type,

Unsafe_Code, and Unsafe_Cast.  These warnings are

disabled by default, but can be enabled with source

code compiler directives {$WARN UNSAFE_CODE ON},

compiler command line switches (dcc32 -W+UNSAFE_CODE),

and in Project|Options.

 

NOTE: There is no space before or after the "+" in the

      command line switch)

 

"Unsafe" in all three messages refers to types or

operations which static code analysis cannot prove to

not overwrite memory.  For example, data types that

carry bounds information at runtime such as Delphi

Strings or dynamic arrays can be bounds-checked at

runtime, and tracked in static analysis, to ensure that

memory accesses are within the limits of the allocated

data.  Data types that do not carry bounds information

at compile time or runtime (such as PChar) cannot be

proven safe.  Unsafe doesn't necessarily mean the code

is broken or flawed, it simply means that it uses

programming techniques that cannot be verified as safe

by static code analysis.  In a secured execution

environment such as .NET, such code is assumed to be

unsafe and a potential security risk.

 

Delphi 7 developers can use these new warnings to

identify data types, code or programming techniques

that may be difficult to port to a managed code

environment such as .NET.  These messages are not

specific to the .NET platform.  The warnings are

conservative - some things we warn about in D7 we might

actually be able to support in Delphi for .NET, but

we're not sure yet.  The warnings are not complete -

there may be problematic types or code situations for

which the Delphi 7 compiler does not issue an unsafe

warning.

 

Unsafe_Type:  Types such as PChar, untyped pointer,

untyped var and out parameters, file of <type>, 6 byte

reals (Real48), variant records (records containing

overlapping fields) and old-style objects

 

("TMyObject = object").

 

  * "old" object type

 

       c = object

         i: Integer;

         procedure p;

       end;

 

Unsafe_Code:  absolute variables, Addr(), Ptr(), Hi(),

Lo(), Swap() standard procedures, BlockRead and

BlockWrite, the Fail() standard procedure, GetMem(),

FreeMem(), and ReallocMem()

 

  * inline assembler blocks (asm end)

  * @ operator

  * modifying string index elements, e.g

 

      s := 'Hoho';

      s[2] := 'a'; // <-- "Unsafe code 'String index to

      var param'"

 

Unsafe_Cast:  Casting an object instance to a type that

is not an ancestor or descendent of the instance type,

casting a record type to anything else

 

 

Change to VCL SubComponents streaming

-------------------------------------

 

In Delphi 7, we corrected a problem where the csLoading

flag was never set for subcomponents, nor was the

subcomponent's Loaded method called. When a component that

has subcomponents is streamed, the subcomponents will have

their csLoading flag set and their Loaded method called.

This change creates a complication for any subcomponent

properties that are writable. If you allow your

subcomponent property to be assigned to an external

component reference then you cannot free your subcomponent

until it's owner's Loaded method is called otherwise the

streaming system will attempt to call the subcomponent's

Loaded method after the subcomponent has been freed.

 

Apache

------

 

Support for Apache 2 is for the 2.0.39 version. It will

work with later versions as long as they are binary

compatible.

 

NOTE: Due to a known bug with Apache 1.3.22, do not

      develop CGI programs or shared objects for this

      version.

 

      See http://bugs.apache.org/index.cgi/full/8538

 

 

UDDI Registry entries

---------------------

 

Some UDDI Registry entries contain an Accesspoint URL with

a bookmark tag at the end. When accessed these services

often generate the error message 'Method not allowed

(405)'.

 

Workaround:

 

Remove the tag from url in the global function

that returns the Interface:

 

     const

//        defURL = 'http://someservice/somewhere#tag';

//        is changed to

 

        defURL = 'http://someservice/somewhere';

 

 

Japanese Input system on Windows XP

-----------------------------------

 

The MS IME2002 Japanese input system included with

Windows XP can cause the Debugger in the IDE to

stall.

 

Workaround:

 

Remove Microsoft IME Character Code Dictionary from

your system dictionaries list. Simply un-checking this

option from the dictionary list will not solve the

problem. To remove this dictionary:

 

1) Open the IME Toolbar.

2) Select Tools|Properties and click on the Dictionary

   tab.

3) Select "Microsoft IME Character Code Dictionary"

   from the System dictionaries listbox

4) Click Remove.

 

 

Database

--------

* The provided DB2 driver is certified for DB2 version

  7 only. The client version and server version must

  match. BDE also supports DB2 version 7 only.

 

* The Oracle driver provided for dbExpress components

  is certified for Oracle 9i. BDE and ADO have been

  certified with Oracle 8.1.7 and 8.1.6. In all cases,

  the client version and server version must be the

  same.

 

* Oracle 9i types - ORACLE 9i types TIMESTAMP

  (introduced for JDK 1.3.1 compliance) and other types

  like XMLType, Temp tables, etc. are not yet

  supported. Use "DATE" instead.

 

* The Borland Database Engine CAB file (BDEINST.CAB) is

  no longer digitally signed. This CAB file is provided

  for backward compatibility. For new applications, we

  recommend deploying BDE with the BDE merge modules.

 

InterBase version support, Dialect 3 features

---------------------------------------------

 

Delphi 7 supports InterBase 6.5. The client version and

server version must be the same.

 

Currently, the driver does not support the ARRAY type.

 

To use the new InterBase 6.5 Dialect 3 features in BDE,

add an entry to your Windows registry under

 

HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine

\Settings\Drivers\Intrbase\Db Open\SQLDIALECT

 

and set the String Value to "3".

 

When an InterBase alias is created, the new entry will

be available in the .CFG file.

 

To use InterBase 5.6, SQLDIALECT can be set to "1"

(existing IB aliases which do not have the SQLDIALECT

entry default to SQLDIALECT=1 or to the registry

setting when the SQLDIALECT entry is added to the

registry).

 

 

InterBase 6.5 implementation note

---------------------------------

 

If you are using a WebSnap application with InterBase

6.5, a local database connection is not recommended.

Instead, use a client/server connection specified by a

protocol-specific prefix to the path to the database.

 

Examples:

 

Local connection (not recommended):

    C:\PathTo\Database\DBName.gdb

 

TCP/IP connection on Windows:

    saturn:C:\PathTo\Database\DBName.gdb

 

TCP/IP connection on UNIX:

    jupiter:/usr/PathTo/Database/DBName.gdb

 

NetBEUI connection:

    \\venus\C:\PathTo\Database\DBName.gdb

 

IPX/SPX connection:

    mars@vol2:\PathTo\Database\DBName.gdb

 

If the WebSnap application is on the same machine as

...

Zgłoś jeśli naruszono regulamin