Delphi 2007 Update 1 - Quality Centralの報告一覧

By: Tomohiro Takahashi

Abstract: Delphi 2007 Update 1 で修正されたQuality Centralの報告一覧(102個)です

まもなくDelphi 2007 のメジャーアップデートがオンラインアップデートで利用可能になります。

Cogswell(C++Builder 2007)のリリースの一部として、Delphiに300以上の修正が行われました。これには、102個のQuality Central上の報告が含まれています。約3ヶ月にわたり、Vistaサポートにおけるいくつかの大きな改良(私たちが長い期間テストしてきたform.pasの修正)と、ドキュメンテーションシステムの全面的な改良(目次を参照したり、新しいフィルタを使用した検索を行ってみてください)を行いました。

また、メモリーリークとIDEの安定性に関する修正も行いましたが、これには様々なものが含まれています。

このアップデートは、オンラインによるダウンロードのほか、新しいインストーラの一部として含まれる「アップデートの確認」の機能を利用して提供される予定です。後ほど詳細をアナウンスいたします。

    235620

QC#

エリア

21202

Documentation

説明:

[QC Short Description]
Missing Help for AlignWithMargin

[QC Description]
See Steps.
QC Entry 21202

Please fix this. there are so many reports on this in QC/RAID.
237935
240781
243514
244241

[NOD7HELP]

5/3/07: Documented TControl.AlignWithMargin property.
--Gary Staas

    249833

QC#

エリア

42423

Documentation

説明:

[QC Short Description]
Help for TStream.Seek is incorrect

[QC Description]
See help of TStream.Seek:

------
The Origin parameter indicates how to interpret the Offset parameter. Origin should be one of the following values:
Value Meaning
***soFromBeginning**
Offset is from the beginning of the resource. Seek moves to the position Offset. Offset must be >= 0.
....
------

This is wrong list of Origin possible values, because soFrom* constants are integer
soFromBeginning = 0;
soFromCurrent = 1;
soFromEnd = 2;

so this gives 32-bit Seek call instead of 64-bit Seek variant call. The correct list of Origin possible values are

TSeekOrigin = (soBeginning, soCurrent, soEnd);

So I had a problem trying to Seek 6GB file using
FStream.Seek(Size-Offset, soFromBeginning).

This doesn't work. I need to use
FStream.Seek(Size-Offset, soBeginning)
instead.

You should list correct TSeekOrigin values in the help.
QC Entry 42423

    249301

QC#

エリア

44320

Documentation

説明:

[QC Short Description]
Unable to overload shift operators

[QC Description]
Try to overload shift operators:

type
TmyInteger = record
<..>
class operator ShiftLeft(A: TmyInteger; B: LongWord): TmyInteger;
class operator ShiftRight(A: TmyInteger; B: LongWord): TmyInteger;
end;

The result is compiler error:

[Pascal Error] <..> : E2393 Invalid operator declaration

Seems like compiler just don't know ShiftLeft and ShiftRight operators described in Reference.pdf

QC Entry 44320

SB: The correct names are LeftShift and RightShift. Doc needs to be updated.

    241120

QC#

エリア

31928

Documentation\Online Help

説明:

[QC Short Description]
Clipped Help re: dynamic arrays

[QC Description]
In the on-line help, page ms-help://borland.bds4/bds4ref/html/StructuredTypes.htm#ArryTyendAignmen, there is a sample code block that looks like this:

var
Int1: array[1..10] of Integer;
array[1..10] of Integer;
...
Int1 := Int2;

I believe it's supposed to look like this:

var
Int1: array[1..10] of Integer;
Int2: array[1..10] of Integer;
...
Int1 := Int2;

QC Entry 31928

5/2/07: Fix code sample as indicated. Fix couple of schema errors in StructuredTypes.xml file.
--Gary Staas

    229905

QC#

エリア

9957

Documentation\Online Help

説明:

[QC Short Description]
Many VCL indexed properties documented incorrect

[QC Description]
The online help for vcl-win32 help does not correctly document the index part of indexed properties. This seems to be a systematic conversion problem.

10/26/05 - This is still an issue for DeXter. It will have to be deferred to the next release, since the doc is locked. -- Janet


QC Entry 9957

5/3/07: The current help shows the indexing properly for all the examples cited here, so I assume the correct code is copied to the docs now.
--Gary Staas

    233897

QC#

エリア

20522

Documentation\Online Help

説明:

[QC Short Description]
TControl.Margins help topic not helpful

[QC Description]
ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_ControlsTControlMarginsProperty.htm says:

"Use the Margins property to set the margins for the control."

This is not informative at all. Of course the Margins property sets the margins, just like the Thingamabob property sets the thingamabob.

Please explain the effect of setting the margins. I dropped a bunch of controls on a form, with some aligned to the sides, but setting the form's Margins property did nothing. Obviously I'm missing something that should've been explained in the help.
QC Entry 20522

    242968

QC#

エリア

36354

Documentation\Online Help\Object Pascal

説明:

[QC Short Description]
Delphi help doesn't say about Iterators for interfaces, but feature is implemented.

[QC Description]
Delphi Help says about Iterators for classes (see ms-help://borland.bds4/bds4ref/html/DeclarationsAndStatements.htm, and search by string "Iteration Over Containers Using For statements").

I mean this text

<>

There are no words that for-in loop construct also works on a interfaces.

SUGGESTION:
Please describe in Delphi Help that for-in loop construct also works on a interfaces like so, <>

For details see "Steps" tabsheet.

------------
There is another my report http://qc.borland.com/wc/qcmain.aspx?d=34676
But it says about same documentation probleb but for _record_.
QC Entry 36354

    242181

QC#

エリア

34676

Documentation\Online Help\Object Pascal

説明:

[QC Short Description]
Delphi help doesn't say about Iterators for records, but feature is implemented.

[QC Description]
Delphi Help says about Iterators for classes (see ms-help://borland.bds4/bds4ref/html/DeclarationsAndStatements.htm, and search by string "Iteration Over Containers Using For statements").

I mean this text

<>

There are no words that for-in loop construct also works on a record.

SUGGESTION:
Please describe in Delphi Help that for-in loop construct also works on a record.

QC Entry 34676

5/3/07: Added statement under "Iteration Over Containers Using For statements":

for Element in Record do Stmt;

to indicate this works for records.
--Gary Staas

    249836

QC#

エリア

39761

Documentation\Online Help\Object Pascal

説明:

[QC Short Description]
Links in Ceil, Floor, and Trunc help don't work.

[QC Description]
In the BDS 2006 help files, the topics on the Ceil, Floor, and Trunc routines all have links to each other. However, in the Ceil and Floor topics, those links don't work.
QC Entry 39761

    243929

QC#

エリア

34061

Documentation\Online Help\Object Pascal

説明:

[short description]
incomplete list of fundamental types

[full description]
"Simple Types" page is missing the definition for UInt64.

5/3/07: Added table entry
Largeuint 0..2^64-1 unsigned 64-bit UInt64

to Fundamental integer types table.
--Gary Staas

    248800

QC#

エリア

42767

Documentation\Online Help\Object Pascal

説明:

[QC Short Description]
Warning/error confusion in FOR and FOR IN documentation

[QC Description]
The report is about bugs in the Object Pascal for loop documentation. I'm talking about this page: ms-help://borland.bds5/devcommon/declarationsandstatements_xml.html

1) The FOR IN statement is documented like this:
"The iteration variable cannot be modified within the loop. This includes assignment, and passing the variable to a var parameter of a procedure. Doing so will result in a compile-time error."
The bugs:
a) Passing the iterator variable as a VAR parameter results not in a compile-time error, but in a warning "W1015 FOR-Loop variable 'C' cannot be passed as var parameter".
b) Passing the iterator variable as a OUT parameter causes the same warning, but "W1015 FOR-Loop variable 'C' cannot be passed as OUT parameter" should be

2) There is no similar text about classic FOR statement - I mean that documentation doesn't say that iterator variable can not be changed. But in fact beheaviour of compiler is just the same as for FOR IN statement.

The documentation should be stricter about the restrictions on the for loop variables.

Also see "Steps"
QC Entry 42767

    245039

QC#

エリア

38801

Documentation\Online Help\VCL

説明:

[QC Short Description]
THandleObject.WaitFor is not documented

[QC Description]
The same is true for C++ THandleObject::WaitFor.
QC Entry 38801

    249834

QC#

エリア

42285

Documentation\Online Help\VCL

説明:

[QC Short Description]
The documentation for TMenuItem.Hint Property is incorrect.

[QC Description]
The documentation for TMenuItem.Hint Property states "The hint text appears in a Help Hint window when the user pauses with the mouse over the menu item if Help Hints are enabled (that is, if the Form's and the Application's ShowHint properties are true)." This is incorrect. The Hint will be available in the Application.Hint property during the event handler for Application.OnHint but no hint window will appear. See http://delphi.about.com/od/vclusing/a/menuitemhints.htm for more information.
QC Entry 42285

    241709

QC#

エリア

33417

Documentation\Online Help\VCL

説明:

[QC Short Description]
TCollectionItem.Create is not described as virtual

[QC Description]
In the source code TCollectionItem.Create is a virtual function but it isn't shown as virtual in the help for Win32


In the source code, we see:
TCollectionItem = class(TPersistent)
....
public
constructor Create(Collection: TCollection); virtual;

In the Win32 help for TCollectionItem.Create we see:

Syntax
[Delphi] constructor Create(Collection: TCollection);

Note that "virtual" is not included in the declaration

The help for Delphi for .Net is the same but I haven't checked the .Net source code to see whether that is an error or not.
QC Entry 33417

5/3/07: The virtual keyword now appears in the C++ prototype for this function.
--Gary Staas

    243952

QC#

エリア

38647

Documentation\Online Help\VCL

説明:

[QC Short Description]
TCheckBox does not fire OnKeyDown for arrow keys, as help suggests

[QC Description]
The help for TWinControl.OnKeyDown Event says:

"Use the OnKeyDown event handler to specify special processing to occur when a key is pressed. The OnKeyDown handler can respond to all keyboard keys, including function keys and keys combined with the Shift, Alt, and Ctrl keys, and pressed mouse buttons."

There is nothing specific to checkboxes and there is no specific help entry for TCheckBox.OnKeyDown event.

This suggests that a TCheckBox must fire the OnKeyDown event for *all* keyboard keys. However it does not fire for the arrow keys. OnKeyDown can only forward keys that the control is actually processing and since a CheckBox (the OS window class) doesn't include DLGC_WANTARROWS (see wm_GetDlgCode) by default, it doesn't receive arrow keys.

Seems this is a documentation problem.
QC Entry 38647

    244695

QC#

エリア

39569

Documentation\Online Help\Main help

説明:

[QC Short Description]
"AllocMem" function is not present in Online Help

[QC Description]
"AllocMem" function is not present in Online Help
QC Entry 39569

    240504

QC#

エリア

30552

Documentation\Online Help\Main help

説明:

[QC Short Description]
Help for the TEventStatus Enum Has Duplicated Text

[QC Description]
The help for the TEventStatus Enum has this text at the bottom:

Related Information
ADOdb.TADOConnection
ADOdb.TADOConnection
ADOdb.TADOConnection
ADOdb.TADOConnection
ADOdb.TADOConnection
ADOdb.TADOConnection
ADOdb.TADOConnection
ADOdb.TADOConnection
ADOdb.TADOConnection
QC Entry 30552

    249843

QC#

エリア

39856

Documentation\IDE Help Contexts

説明:

[QC Short Description]
Help topic missing for the following TDBGrid.Style properties

[QC Description]
TDBGrid.Style
No help for "TPersistent.Style"
No help for "TPersistent.fsBold"
No help for "TPersistent.fsItalic"
No help for "TPersistent.fsUnderline"
No help for "TPersistent.fsStrikeOut"
QC Entry 39856


5/3/07: F1 works for all these TDBGrid.TFont properties now.
--Gary Staas

    249842

QC#

エリア

39857

Documentation\IDE Help Contexts

説明:

[QC Short Description]
QC# 39517 - Help missing for the following TDBGrid.TitleFont properties

[QC Description]
TDBGrid.TitleFont
No help for "TPersistent.Charset"
No help for "TPersistent.Orientation"
No help for "TPersistent.Pitch"
No help for "TPersistent.Size"
QC Entry 39857


5/3/07: F1 works for all 4 properties now.
--Gary Staas

    240038

QC#

エリア

27348

Documentation\IDE Help Contexts

説明:

[QC Short Description]
TCustomListView.TopItem Property help file has conflicting instructions

[QC Description]
Helpfile for TCustomListView.TopItem Property (Win 32 reference) states:

"You can also scroll the view by setting TopItem"

However, this is not possible as the property is read only, which is also stated in the help file.

QC Entry 27348

    232149

QC#

エリア

16261

Documentation\IDE Help Contexts

説明:

[QC Short Description]
Component | Import Type Library missing

[QC Description]
( Delphi 2005 W32 )
Component | Import Type Library is missing as described in the help file:

ms-help://borland.bds3/bds3win32devguide/html/cacusingtheimporttypelibrarydialog.htm
QC Entry 16261

    244583

QC#

エリア

39517

Documentation\IDE Help Contexts

説明:

[QC Short Description]
Help missing for TDBGrid.Constraints

[QC Description]
Help topics missing for the following TDBGrid.Constraints properties
No help for "TPersistent.MaxHeight"
No help for "TPersistent.MaxWidth"
No help for "TPersistent.MinHeight"
No help for "TPersistent.MinWidth"
QC Entry 39517

5/3/07: F1 works for all 4 properties now.
--Gary Staas

    244582

QC#

エリア

39516

Documentation\IDE Help Contexts

説明:

[QC Short Description]
Help missing for TDBGrid.Anchor properties

[QC Description]
Help topic missing for the following TDBGrid.Anchor properties
No help for "TPersistent.akLeft"
No help for "TPersistent.akTop"
No help for "TPersistent.akRight"
No help for "TPersistent.akBottom"
QC Entry 39516

5/3/07: F1 help works for all 4 now.
--Gary Staas

    226100

QC#

エリア

13801

Documentation\IDE Help Contexts

説明:

[QC Short Description]
There is no context sensitive help for the EllipsisPosition property on a TLabel

[QC Description]
There is no context sensitive help for the EllipsisPosistion property on a TLabel.
Further more it is not even listed on the properties page for TLabel.

ms-help://borland.bds3/bds3win32api_win32/html/StdCtrlsTLabelProperties.htm
QC Entry 13801

    249198

QC#

エリア

43477

IDE

説明:

[QC Short Description]
editor or welcome page has incorrect size after maximize, minimize and restore

[QC Description]
*Vista Only*: after maximizing, then minimizing and finally restoring the IDE, the editor area has the wrong size and empty space is left

See attached screen shot.
QC Entry 43477

    248473

QC#

エリア

43092

IDE

説明:

[QC Short Description]
BDS does not show on Task Manager applications list

SB: XP only

QC Entry 43092

    241352

QC#

エリア

32650

IDE

説明:

[QC Short Description]
IDE Exception dialog: Call stack should be included with copy to clipboard

[QC Description]
The IDE Exception dialog supports Ctrl+C to copy the error message to the clipboard.

Unfortunately the clipboard copy does not include the call stack which is shown in the details.

When manually posting QC reports (and not using AIR) the call stack has to be copied manually which is cumbersome.

See Steps.
QC Entry 32650

NOTE: if you highlight the call stack, you can get it. it just takes a second step.

    248462

QC#

エリア

43097

IDE\Dialogs

説明:

[QC Short Description]
Text display problems on Tools->Options

QC Entry 43097

    245897

QC#

エリア

40821

IDE\Dialogs

説明:

[QC Short Description]
Confirmation dialog to add BPL path to the PATH environment variable is wrongly translated

[QC Description]
After installing build Spacely 2603, the first dialog that popups when the IDE is launched is badly translated.

It contains:

"Votre destination package Delphi pour win32 actuel ne fait pas partie de votre chemin syst me.
Pour utiliser les packages d' x cution construits dans ce r pertoire,
il faut que ce r pertoire soit dans votre chemin . Voulez vous l'ajouter maintenant"

It should rather be:

"Votre r pertoire contenant les paquets Delphi pour Win32 n'est pas pr sent dans votre chemin syst me. Pour utiliser ces paquets d' x cution il faut que ce r pertoire soit pr sent dans votre chemin syst me. Voulez vous l'ajouter maintenant ?"

screenshot attached
QC Entry 40821

// Francois Piette
This report is a duplicate of 244531 which is NOT resolved !

    249599

QC#

エリア

44770

IDE\Dialogs\Project Options

説明:

[QC Short Description]
"Linker output" option resets after closing & reopening project

[QC Description]
When a project's "Linker output" option is changed, it resets to "Generate DCUs" after the project is closed and reopened. See Steps.

Delphi 2006 does not have this problem.
QC Entry 44770

    248341

QC#

エリア

42948

IDE\Dialogs\Project Options

説明:

[QC Short Description]
Record Field Alignment Option not saved

[QC Description]
The Project Option "Record Field Alignment" (see Compiler page in Project, Options) is not saved properly. When opening a previously saved project it always reverts to 8. See Steps.
QC Entry 42948


Support Case 668452

http://caseviewer.borland.com/CaseViewer/CaseDetails.jsp?caseNumber=668452

    245169

QC#

エリア

40074

IDE\Dialogs\Project Options

説明:

should remove "Windows Forms designer" from the Tools | Options dialog

    248925

QC#

エリア

43475

IDE\Project Management

説明:

[QC Short Description]
Automatic conversion of .bdsproj to .dproj fails to convert $Z (DCC_MinimumEnumSize)

[QC Description]
When upgrading an BDS2006 .bdsproj file to the new-style .dproj file, the value in DCC_MinimumEnumSize is set to True, which cannot be interpreted later on during compilation.

This happens whenever the original .bdsproj file mentions the compiler option Z, with a value of 2 or 4 (the default value, 1, doesn't result in a DCC_MinimumEnumSize value in the .dproj file).
Note that compiler option A (which also needs a value of 1, 2 or 4) maps correctly to DCC_Alignment.
QC Entry 43475

    249864

QC#

エリア

44777

IDE\Project Management

説明:

Child forms are not recreated together with the main form when MainFormOnTaskbar is True. Instead of being recrated the handle is destroyed, bypassing the DestroyWnd method which allows components to persist properties.


** Original description **

[QC Short Description]
ComboBox looses Items

[QC Description]
A TComboBox may loose all its Items. This is happening for all forms of the project which is automatically loaded when the IDE starts (so AutoSave Desktop needs to be enabled) and these forms had been in Code View when the desktop was saved.
QC Entry 44777

    248827

QC#

エリア

43569

IDE\Project Management

説明:

[QC Short Description]
Environment variables not expanded/recognized at compile time.

[QC Description]
Setting an environment variable, such as NX, and using the environment variable in the library path, such as $(NX), is not recognized at compile time.
QC Entry 43569

[Additional Note: This is a MSBuild regression]

    248686

QC#

エリア

43052

IDE\Project Management

説明:

[QC Short Description]
Switching between Debug and Release doesn't cause a recompile when project is run

[QC Description]
When you change a freshly compiled project from Debug to Release configuration, running it does not cause a recompile which would be necessary for the release settings to take effect.
QC Entry 43052

    245816

QC#

エリア

40744

IDE\Code Editor

説明:

[QC Short Description]
Caret positioned one character further left of compiler error position

[QC Description]
If you compile a program with an error, the caret normally is positioned at the beginning of the faulty identifier.
With Spacely 11.0.2593.4239 the caret is positioned one character further left.
QC Entry 40744


[Additonal Note: This is an MSBUILD specific problem]

    249602

QC#

エリア

44894

IDE\Code Editor\Error Insight

説明:

[QC Short Description]
Delphi 2007 IDE suddenly disappears while typing

[QC Description]
While typing "Row.LineB := #" the IDE disappears when the #-key is pressed. (Row: TStrings)
QC Entry 44894

    248806

QC#

エリア

43597

IDE\Code Editor\Help Insight

説明:

[QC Short Description]
Help insight 'Object reference not set' errors with dotted filenames on search path

[QC Description]
If the uses clause contains a dotted filename that is on a project's search path but not added to the project, moving the mouse over the filename before the dot causes an 'Object reference not set to an instance of an object' error.
QC Entry 43597

    247999

QC#

エリア

42529

IDE\Tool Palette

説明:

[QC Short Description]
Icon scrambling and unpredictible error messages in palette.

[QC Description]
By activating and deactivating component packages, while moving their sections up and down in the palette, I can get the icons to get scrambled (icons from a turned off set of components replacing those in the section that was below it). I can also get access violations, invalid pointer operations, priveleged instruction errors, and other random errors that often cause Delphi to crash.


SYSOP (transferred from comment)
=====================
The steps window keeps letting me add more text than it actually saves. Here's the second error dialog that produced the second data dump.


Error
---------------------------
Access violation at address 20006A04 in module 'rtl100.bpl'. Read of address FFFFFFDC.
QC Entry 42529

    247913

QC#

エリア

41681

IDE\Form Designer

説明:

[QC Short Description]
Minimising D2007 whilst in undocked mode leaves forms visible

[QC Description]
Running on Vista Ultimate with the IDE in undocked mode and the vcl designer NOT embedded. Installed on a machine with BDS2006 already present and functioning correctly.

When minimising D2007 everything 'disappears' to the task bar with the exception of any open forms which remain on screen.

On about a 50/50 spilit, D2007 will restore correctly or restore without the Object inspection/Project manager/Tool Palette etc. If it fails to restore these windows a restart of the IDE is required.
QC Entry 41681

    247674

QC#

エリア

42338

IDE\File Handling

説明:

When using Ctrl+Enter in the code editor to open a file, the IDE is not able to open an INC file because that extension is not found in the default filetype field in the open file dialog box. You have to manually select the inc file type to have the IDE "see" the inc file. Annoying !

It is expected to have the IDE be able to open anyfile is can find, whatever the extension is. This is specially true for inc files which are frequently used.

// Francois Piette
See also QC42338 which is probably the same issue.

// Francois Piette
Fixed in 2671

    248218

QC#

エリア

42808

IDE\Code Templates

説明:

[QC Short Description]
Automated Incident Report

[QC Description]
List index out of bounds (15)

In a fresh RTM install of D2007, invoking certain code templates lead to a List Index Out of Bounds error.
QC Entry 42808

    241676

QC#

エリア

33315

IDE\Code Browsing

説明:

[QC Short Description]
ctrl+shift+up/down command doesn't work in some classes with nested types.

[QC Description]
When I use nested types in classes then in special cases (really I cannot understand the causes) ctrl+shift+up/down doesn't work.
Some times catastrofic failure happens and IDE closes. This is the error stack

+ $A[20CB0BA6]{coreide100.bpl} StructureView.StructureView.TStructureViewServices.EditorViewChanged (Line 468, "StructureView.pas" + 18) + $A
+ $0[51F2A2A5]{rtl100.bpl } System.System.@CheckAutoResult (Line 18061, "system.pas" + 6) + $0
+ $19[20BF6FF3]{coreide100.bpl} EditorForm.EditorForm.TEditorViewsChangedEvent.Send (Line 4408, "EditorForm.pas" + 3) + $19

See steps.
QC Entry 33315

    248542

QC#

エリア

43130

IDE\Desktop Layouts

説明:

[QC Short Description]
Under undocked mode the main Delphi window is improperly sized after a minimize/restore

[QC Description]
In undocked mode, the main Delphi window (where the main menu and toolbar live) will have its height improperly set after minimizing and restoring Delphi.

For this problem to occur, the Classic Undocked desktop must be selected, and the main Delphi window must be maximized.
QC Entry 43130

    241386

QC#

エリア

32108

IDE\Desktop Layouts

説明:

[QC Short Description]
Resizing maximized editor window causes erratic behaviour

[QC Description]
When using the size grip on the bottom right corner of the editor window while it is maximized, apparently a panel is resized causing the status bar to become unusable and showing the text 'Panel2'

QC Entry 32108

    242818

QC#

エリア

21953

IDE\ToDoList

説明:

[QC Short Description]
Priority information in To-Do List is lost

[QC Description]
When editing an existing ToDoList item, the priority shown in the edit dialog is incorrect. If you apply changes with this dialog, the original priority is overwritten.
QC Entry 21953

    247246

QC#

エリア

41917

IDE\Help

説明:

[QC Short Description]
DEXPLORE.EXE not closed upon exit

[QC Description]
DEXPLORE.EXE reside in a memory after closing Delphi,


Merging new content help into Delphi help system will not succeed unless DEXPLORE.EXE will be restarted. Without restarting DEXPLORE.EXE help will look corrupted (no content). It could be a problem for component vendors because closing Delphi will just not be enough.
QC Entry 41917


RAID248730

    248197

QC#

エリア

42640

IDE\Help

説明:

[QC Short Description]
Garbled characters within a help topics selection dialog

[QC Description]
In a help topics selection dialog, the Japanese string of a title column is garbled.
For example, when F1 key is pushed on 'ShowMessage' in an editor, the 'routine' of a 'ShowMessage routine' is garbled.
QC Entry 42640

[See #247168 - TArisawa]

    247533

QC#

エリア

42237

IDE\Help

説明:

Help by F1 Doesn't work at all in object inspector for Modelling projects!!!


[QC Short Description]
Rapport d'incident automatis

[QC Description]
Impossible d'effectuer un cast d'un objet COM de type 'System.__ComObject' en type d'interface 'Borland.Studio.Interop.IManagedHelpTrait'. Cette op ration a chou , car l'appel QueryInterface sur le composant COM pour l'interface avec l'IID '{46C3FC48-A04A-369C-B79E-93C74BDE67D3}' a chou en raison de l'erreur suivante : Cette interface n'est pas prise en charge (Exception de HRESULT : 0x80004002 (E_NOINTERFACE))

Hit F1 when in the object inspector for property "since" when in model view mode.
QC Entry 42237

[SpUpdMF]

// Francois Piette
I still see this in Cogswell 2664

// Francois Piette
I still see this in Cogswell 2671

    249724

QC#

エリア

45149

IDE\Unit Testing\Test Case Wizard

説明:

[QC Short Description]
No task bar entity for test case app

[QC Description]
Severity 1 - but actually highly INvisible problem!
QC Entry 45149

    249640

QC#

エリア

43021

IDE\Unit Testing\Test Case Wizard

説明:

[QC Short Description]
Catastrophic failure when creating unit test

[QC Description]
Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
QC Entry 43021

    219029

QC#

エリア

219029

IDE\History View

説明:

when project is reopen, on History view, code pane ( bottom pane ) is grayed out

// then, trying to show difference on Diff tab causes Error : Cannot focus a disabled or invisible window


// 10.0.1935.34576 : true
// 10.0.1970.7398 ( 5/24) : true
// 10.0.2096.1640.3 (9/27) : true
// 10.0.2126.8061 (10/27) : true
// 10.0.2129.4518.2 (10/30 ) : true
// 10.0.2138.21187 (11/8) : true

[BCMF]
[BCD]
[AB: Cannot Reproduce]

    246659

QC#

エリア

41079

IDE\Memory Issues

説明:

[QC Short Description]
using safemm, changing selected unit in the ide causes a read-AV

[QC Description]
see steps

this one doesn't have a guaranteed-to-fail set of steps, but is relatively easy to cause. it seems to be timing-specific, so will probably change visibility depending on the speed of the pc etc. on my 1Ghz p3m i can cause this to fail within 10 seconds.

this requires the safemm memory-manager
QC Entry 41079

    248140

QC#

エリア

42602

Install

説明:

[QC Short Description]
EPackageRegistrationException in module sanctuarylib.dll

[QC Description]
- See steps for complete description (only a windows 2000 problem)
QC Entry 42602

    248496

QC#

エリア

40818

Install

説明:

[QC Short Description]
Delphi does not work without installing Database Features

[QC Description]
If you install Delphi and mark the "Database Features" tree as "feature will be unavailable," Delphi does not initialize properly and presents various errors on startup.
QC Entry 40818

    248498

QC#

エリア

42247

Install\Registry settings

説明:

[QC Short Description]
Package load errors on startup when de-selecting some internet packages

[QC Description]
Deselecting these installer components:
BDE Components
Interbase Express
Indy
Internet Controls
Intraweb
ITE
Office Controls
Samples
Everything under Shared Files
XML Mapper

Results in these IDE load errors:
Can't load package dclwebsnap100.bpl and then the same for dclsoap100.bpl

[Maybe a good test for the automated test suite would be to deselect all of the installer components, and then start the IDE?]
QC Entry 42247

    249254

QC#

エリア

44514

Install\Files

説明:

[QC Short Description]
Enterprise instead of Professional in field ProductName in the version info resource of bds.exe of the Professional edition

[QC Description]
The ProductName in the version info resource of the bds.exe in the Professional Edition is "Enterprise" and not "Professional".

Additional information:
AFAIK this was correct in the prior versions - this means the ProductName was "Personal" for a Personal Edition.
Has this something to do with the new deployment method and you have simply forgotten to put different bds.exe's into the installation files because the executables are simply the same and just the version info is different?
QC Entry 44514

    250398

QC#

エリア

44662

Install\Files

説明:

[QC Short Description]
TeePrevi.dfm is missing in \lib

[QC Description]
The TeePrevi.dfm file is missing in the \lib directory. The TeePrevi.dcu is there, but not the form file.

Found in the german Delphi 2007 for Win32 Professional Version, but happens also when I install the english version.
QC Entry 44662

    238830

QC#

エリア

22878

Database

説明:

[QC Short Description]
InterBase Blob output params of StoredProcs truncated in D2006

[QC Description]
The Stored Procs blob output params are truncated in D2006 to 18 characters.

18 is the default value in Param.Size property, but even if I change it to a enough greater value, Delphi 2006 truncs the returned value to 18 characters.

In Delphi 2005, the returned value are not truncated if the Param.Size is enough greater.

The same result occurs (in Delphi 2006) using dbxint30.dll or the old dbexpint.dll
QC Entry 22878

    248726

QC#

エリア

42673

Database\DBExpress\TSQLConnection

説明:

[QC Short Description]
Memory leak in TSQLConnection.Open

[QC Description]
Using TSQLConnection to connect to Interbase server will cause TWideStringList memory leak.
QC Entry 42673

    248340

QC#

エリア

42824

Database\DBExpress\TSQLConnection

説明:

[QA Note]
The memory leak seems to be set at a fixed amount. I can create and open several TSQLConnections and the number of widestrings reported as being created remains the same.
[/QA Note]

[QC Short Description]
DBX4 TSQLConnection Memory Leak and Debugger Fault Notification

[QC Description]
FastMM4 detect TWideStringList memory leak in TSQLConnection

when try to compile with Full debug mode get a Debugger Fault Notification
QC Entry 42824

    249630

QC#

エリア

43141

Database\dbExpressCore

説明:

[QC Short Description]
mixing DBX3 and DBX4 drivers leads to crash in IDE and code

QC Entry 43141

    250405

QC#

エリア

45565

Database\dbExpressCore

説明:

[QC Short Description]
Create constructor of DBXDynalink.DBXDriverLoader or of third party driver never called

QC Entry 45565

    247789

QC#

エリア

42403

International\Truncation

説明:

[STRING CORRUPTION]

[QC Short Description]
First phrase in installer is too long in French

[QC Description]
When run in a French OS, the sentence on the very first screen is too long and gets truncated.
See attached screenshot for details
QC Entry 42403

    248641

QC#

エリア

43331

VCL

説明:

[QC Short Description]
Taskbar button is duplicated when restarting Explorer.exe

[QC Description]
If you restart the Explorer.exe (taskbar) the taskbar button will be duplicated, so you have the TApplication.Handle and the MainForm on the taskbar.
QC Entry 43331

    243445

QC#

エリア

37537

VCL

説明:

[QC Short Description]
Form.ScreenSnap handling is wrong if Windows Taskbar is docked to left or top of the screen

[QC Description]
If Taskbar is docked to the left side of the screen, Delphi forms still snap to the edge of screen, instead of to the edge of Taskbar. Similarly for when Taskbar is docked to top.

This is the method which contains the error (comments are mine):

procedure TCustomForm.WMWindowPosChanging(var Message: TWMWindowPosChanging);
...
HandleEdge(x, Left, Monitor.WorkareaRect.Left); // last param should be 0!
HandleEdge(y, Top, Monitor.WorkareaRect.Top); // last param should be 0!
...
end;
QC Entry 37537

    250287

QC#

エリア

45745

VCL

説明:

[QC Short Description]
Vista Modal Dialog flashing broken in Update Patch

[QC Description]
The update breaks the modal dialog behaviour in that it no longer flashes when clicking outside a modal dialog.

Since XP if a modal dialog is open and you click outside the modal dialog on the application form, the dialog flashes and a sound is played to indicate there is a modal dialog open.

The update patch breaks this behaviour.

The RTM version does not exhibit this problem, is was introduced in the update patch.
QC Entry 45745

    242952

QC#

エリア

36283

VCL\Additional Controls\Action Bar Controls

説明:

[QC Short Description]
TCustomizeDlg is not localized

[QC Description]
TCustomizeDlg is not localized in Japanese edition Delphi2006. However, it was localized in Delphi6.
QC Entry 36283

    248656

QC#

エリア

43334

VCL\Core VCL Classes

説明:

[QC Short Description]
IDE keeps focus if project MainFormOnTaskBar is False

[QC Description]
I am seeing a strange new behavior with the new forms and vcl posted to binaries on 3/22 if MainFormOnTaskBar is set to False.

When a project is run from the IDE, after the application displays for a moment the IDE pops in front of it. This is caused by the fact that the IDE has focus -- not the project app -- and if anything under the mouse pointer causes the IDE to display a tooltip.

If I revert back to the RTM forms and vcl, this behavior does not occur because the project app gets focus when run.

Some notes:

- The first time I run an app after starting the IDE, it stays in front even though it does not have the focus. Thereafter all runs, even when opening and running a different app, the IDE will come to front if triggered by a tooltip.

- A simple new project with no controls does not exhibit this behavior because MainFormOnTaskBar is set True. If I change this to False, then it does exhibit.
QC Entry 43334

    249269

QC#

エリア

43984

VCL\Core VCL Classes\TForm

説明:

[QC Short Description]
Application set to start minimized will behave erratically if MainFormOnTaskbar := True for non-Vista Windows

[QC Description]
When an application is set to start up in the wsMinimized state, it will have some very strange behaviors:

1) It will start like if it were running in Windows 3.1, i.e., instead of showing in the taskbar it will show a minimal window;
2) After restoring that window, it cannot be properly minimized to the taskbar: clicking the minimize button has no effect.

As shown in the steps, this can be seen on a simple blank VCL forms application.

Notes:
1) This only happens on Non-Vista (e.g.: XP, 2003);

2) This only happens when the default "Application.MainFormOnTaskbar := True;" is used; changing it to "False" will no longer exhibit the problem;

3) This happens regardless of using themes or not: tested in both configurations.
QC Entry 43984

    249594

QC#

エリア

44910

VCL\Core VCL Classes\TApplication

説明:

[QC Short Description]
BDS 2006 compiled applications do not get their taskbar button selected on startup with the latest vcl bpl files for Delphi 2007

[QC Description]
BDS 2006 compiled applications do not get their taskbar button selected on startup with the latest vcl bpl files for Delphi 2007
QC Entry 44910

    249239

QC#

エリア

42374

VCL\Core VCL Classes\TApplication

説明:

[QC Short Description]
Hiding main form changes the caption of the task bar icon

[QC Description]
If you hide the main form and show another form, the caption of the task bar
icon changes. See attached example.
QC Entry 42374

    250662

QC#

エリア

46202

VCL\Core VCL Classes\TApplication

説明:

[QC Short Description]
Application.BringToFront not working as expected

[QC Description]
I have an application that controls another applicationusing SendKeys in order to get data from some dialogs. During this process of course this other application must be brought to front. At the end of the process my app calls Application.BringToFront to bring my app back.

BringToFront is not working in build 2686, and frankly I'm not sure when it was broken. The setting for MainFormOnTaskBar makes no difference. (edit: Actually, on the test app, MainFormOnTaskBar DOES make a difference -- the bug only exhibits when it is set to TRUE. However, the setting makes no difference in my production app.).


I also tried Application.MainForm.BringToFront, which didn't fix it either.

I get the same problem on both XP and Vista.

I have included a simple test application that exhibits the problem.
QC Entry 46202

    248531

QC#

エリア

43007

VCL\Core VCL Classes\TApplication

説明:

[QC Short Description]
Wrong taskbar focus behaviour in IDE

[QC Description]
The IDE has a bad behavour toward it's taskbar button. Other applications have taskbar focus even when the IDE is in front and you are working within one of the IDE windows.

Testing has been done in Windows XP with themes off, and classic look.

Problem is also there in applications developed with Delphi 2007 using the new MainFormOnTaskbar for Vista.

There is also another problem with the mainform not showing in front, related to the same changes. Both are described and demonstrated in the example. These come from the same adjustments in VCL, so I did not create a separate report for this problem. Both should be fixed when adjusting this.
QC Entry 43007

    248640

QC#

エリア

43333

VCL\Core VCL Classes\TWinControl

説明:

[QC Short Description]
A control whose parent's FShowing is false will not hide

[QC Description]
Trying to set "Visible := False" on a visual control while its parent is not showing will not hide said control but only set its Showing property to false. Once the parent is visible again the control will be visible.

This is a breaking change with BDS 2006 which will correctly hide the control wether or not its parent is showing. Is this a bug or the intended behavior?

See sample project attached.

I've traced the problem to TWinControl.UpdateControlState which is called when assigning a value to Visible. Here's the offending part:

Control := Control.Parent;
if not Control.Showing then
begin
FShowing := False;
Exit;
end;

The "FShowing := False" is what is causing this problem, and it's also the only change in this method since BDS 2006.

I assume that since Showing is false for the control, other methods along the call stack decide that the it should not have its Visible property set to false since it's not showing.

QC Entry 43333

    248033

QC#

エリア

42610

VCL\Graphics

説明:

[QC Short Description]
gifimg unit might display modal error dialog in initialization

[QC Description]
If another TGIFImage class has already been registered for the GIF format, when the gifimg initialization is executed, then the gifimg unit will display a modal error dialog.

This behaviour is unacceptable if gifimg is being used in a server application (e.g. an ISAPI filter) and since it's an internal error, it probably isn't too great an idea in end-user applications either...

The following change to gifimg.pas fixes the problem:

initialization
// Check for conflicting registration
{-} // TODO -oborland : How should a conflict be handled? It's probably not a good idea to display a modal box here.
{-} if (GraphicExtension(TGIFImage) <> '') then
{-} MessageBox(0, PChar(sTPictureConflict), PChar(SMsgDlgError),
{-} MB_ICONERROR or MB_OK or MB_TASKMODAL);
TPicture.RegisterFileFormat('GIF', sGIFImageFile, TGIFImage); // Do not localize
CF_GIF := RegisterClipboardFormat(PChar(sGIFImageFile));
TPicture.RegisterClipboardFormat(CF_GIF, TGIFImage);
QC Entry 42610

    249207

QC#

エリア

44401

VCL\Dialog Controls

説明:

[QC Short Description]
Open and Save dialogs don't return FilterIndex under Vista

[QC Description]
With Vista and UseLatestCommonDialogs=True the various open and save dialogs fail to return the correct FilterIndex.

This is breaking existing apps which rely on the correct FilterIndex! It also breaks TSavePictureDialog which relies on FilterIndex as well!

Here's why this is failing: internally these dialog use TFileOpenDialog and TFileSaveDialog under Vista. These in turn use TFileDialogEvents to react to the various events. TFileDialogEvents.OnTypeChange calls FFileDialog.TypeChange *only* if OnTypeChange is assigned. But TCustomFileDialog.TypeChange has to be called *always* since this is updating the internal FFileTypeIndex!
QC Entry 44401

    250555

QC#

エリア

46134

VCL\Dialog Controls\TOpenDialog

説明:

[QC Short Description]
TOpenDialog under Vista Breaks doShareAware

[QC Description]
If you are running Vista, and use the TOpenDialog, and rely on the ofShareAware option, this is broken with Delphi 2007.

If you try to open a file that is in use, under Vista, with ofShareAware set to true, you get a dialog showing "Not implemented".

This can be tracked down to the code in Dialogs.pas:

1 - At the beginning of TOpenDialog.DoExecute, if Vista is being used, wrappers around the new FileDialogs are used
2 - These wrappers are created, and there properties assigned from the standard TOpenDialog (which skips OnShareViolation)
3 - The code in TFileDialogEvents.OnShareViolation checks to see if OnShareViolation is assigned and, if not, results in E_NOTIMPL

The sum of these parts is that, if you use a TOpenDialog, even with ofShareAware set, you will be completely unable to select in-use files.
QC Entry 46134

    248544

QC#

エリア

42867

VCL\Win 32 Controls\TImageList

説明:

[QC Short Description]
Image list never grows its internal bitmap

[QC Description]
When adding images to an existing imagelist that has been filled at design time, the internal bitmap is never grown. When later retrieving the images from the list, those that are above the existing capacity are returned blank.
This did not happen with BDS2006.
QC Entry 42867

    249713

QC#

エリア

38658

Debugger\Stepping

説明:

[QC Short Description]
using f7 to step into a method causes bds to lockup with 100% cpu use

[QC Description]
see steps

this is using a clean install of highlander.

this is running on a p3-m 1GHz notebook,512megs ram, windows xp sp2. it is possible that it may be harder to reproduce on a faster or dualcore pc.

this may also affect earlier versions of bds (eg 2006)
QC Entry 38658

    248582

QC#

エリア

43125

Debugger\Evaluator\Delphi

説明:

[QC Short Description]
Default display for PChars is "Character"

[QC Description]
If you add a PChar-Variable to the Watch window or evaluate it in the Evaluation dialog or look at the local variables window, the PChar variable is not displayed as string but as charactor.

It seems that the default display type for PChars has switched from string to character.
QC Entry 43125

    242549

QC#

エリア

34555

Debugger\Multi-process

説明:

[QC Short Description]
cannot switch the active project when a process is being debugged

[QC Description]
in a project group with several projects, the active project cannot be changed if one project is being debugged (whenever its state is running or stopped).
This issue prevents multiple projects to be simultanly debugged.
Tested with build 2459
QC Entry 34555

    248528

QC#

エリア

43114

Internet\Indy

説明:

[QC Short Description]
Default browsing path for Indy is incorrect

[QC Description]
The BDS default browsing path includes:

$(BDS)\source\Indy10

but this folder doesn't contain any source files.

Instead the Indy source code can be found here:

$(BDS)\source\Indy10\Core
$(BDS)\source\Indy10\System
$(BDS)\source\Indy10\Protocols
QC Entry 43114

    250045

QC#

エリア

40156

Compatibility\Previous -> Current

説明:

[QC Short Description]
Custom Action developed in Delphi 7 blocks BDS2006 when form viewed

[QC Description]
I have serious problem with a component developed (and used many times) in Delphi 7 and now used in Delphi 2006.
The component itself is based on TWebBrowser, it is a HTML editor, but the problem is not with this component, then with Action associated with it.
Just to be fast in developing I create custom actions like cut, copy, paste, format_bold etc.
I made basic class

TDsHtmlEditAction = class(TAction)
private
FControl : TDSWebEditor;
procedure SetControl(Value: TDSWebEditor);
protected
function GetControl(Target: TObject): TDSWebEditor; virtual;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
public
destructor Destroy; override;
function HandlesTarget(Target: TObject): Boolean; override;
procedure UpdateTarget(Target: TObject); override;
published
property Control: TDSWebEditor read FControl write SetControl;
end;

where TDSWebEditor is the mentioned component based on TWebBrowser.

the procedure UpdateTarget is very simple:

procedure TDsHtmlEditAction.UpdateTarget(Target: TObject);
begin
if (Self is TDsHeEditCut) or (Self is TDsHeEditCopy) then
Enabled := GetControl(Target).SelLength > 0;
end;

from this class i made specific classes, for example

TDsHeEditCut = class(TDsHtmlEditAction)
public
procedure ExecuteTarget(Target: TObject); override;
end;

where proceudre ExecuteTarget is again very simple:

procedure TDsHeEditCut.ExecuteTarget(Target: TObject);
begin
GetControl(Target).Cut;
end;

GetControl is just FControl.

This action is registered, and there is no problem with adding it to the ActionList.

The problem arrives when I associate this action to a button on the TToolBar and when the form is seen in the desing mode!!!!!

I get access violation.

When the form is not viewed in the BDE, the application can be compiled without problem and it runs correct.

All of this is working perfectly in the old Delphi 7 and i have developed many applications using this component and this actions.

It's a big problem for me because it stops development of many projects where I'm using this component.
QC Entry 40156

    248075

QC#

エリア

42627

ActiveX\IDE\Implementation file management

説明:

[QC Short Description]
TLB is not renamed if project that contains a TLB is renamed using save as.

[QC Description]
If you use "Save project as" on an existing project that contains a _TLB.pas file, the associated _TLB file is not renamed.

Also all the units uses clauses should be changed - a global find replace accross units would achieve the desired result.

QC Entry 42627

    249212

QC#

エリア

43986

Midas\TClientDataSet

説明:

[QC Short Description]
Blob fields truncated in TClientDataSet

[QC Description]
When loading a file previously saved with the "SaveToFile" method, Blobfields of a TClientdataset are truncated.

An example program demonstrating the bug is provided
QC Entry 43986

// HF: added screenshots

    249445

QC#

エリア

44731

Compiler

説明:

[QC Short Description]
dcc32.exe reports E2029 error incorrectly

[QC Description]
When performing a build using dcc32.exe the following errors are reported:

Error: E2029 ',' or ';' expected but ',' found
Fatal: F2084 Internal Error: D21153

This happens with code that compiled OK with dcc32.exe from Delphi 2005.

It seems to be related to the path length of items in a uses clause.

This problem is preventing us porting from D2005 to D2007 and is quite an urgent problem. I have already posted this problem under Delphi-BCB (Report #44591) but thought perhaps this was a better place for the report.

I have attached a zip file containing code that illustrates the problem (see steps to produce section).
QC Entry 44731

    242042

QC#

エリア

34298

Compiler\Delphi

説明:

[QC Short Description]
Compiler allows *static* class methods to be passed as value of method pointer variable.

[QC Description]
Delphi complier has *undocumented* feature: it allows class methods to be passed as value of method pointer variable.

See this code (pay attention on F := TMyClass.Get)

{$o-}
program Project1;
uses
SysUtils;
type
TIntFunc = function(S: String): Integer of object;
TMyClass = class
public class function Get(S: String): Integer;
end;
class function TMyClass.Get(S: String): Integer;
begin
Result := StrToInt(S)+1;
end;
var
F: TIntFunc;
N: Integer;
begin
F := TMyClass.Get;
N := F('1');
end.

This code works OK.

But if you change
public class function Get(S: String): Integer
to
public class function Get(S: String): Integer; static;
then Access Violation exception is raised.

See steps to reproduce error

=================================
Here is a discussion about this feature on borland.public.delphi.language.delphi.general newsgroup.

http://groups.google.com/group/borland.public.delphi.language.delphi.general/browse_frm/thread/957ff83c85025113/c7ca6e132da14a8c?#c7ca6e132da14a8c
QC Entry 34298

    250525

QC#

エリア

45896

Compiler\Delphi

説明:

[QC Short Description]
Compiler generates internal error on compiling attached project

[QC Description]
Compiler generates internal error on compiling attached project
QC Entry 45896

    247060

QC#

エリア

41751

Compiler\Delphi\Code Generation/Optimization

説明:

[QC Short Description]
Property with inlined function and Data type conversion produces wrong code

[QC Description]
It seems that the combination of
a) inlining
b) record field variable
c) data type conversion (int/int64 --> double/single)

creates wrong code (the function returns 0.00 in my tests)

Please see steps for sample source code
QC Entry 41751

    247062

QC#

エリア

41285

Compiler\Delphi\Code Generation/Optimization

説明:

[QC Short Description]
using self in a class method of a class helper causes an av

[QC Description]
see steps
QC Entry 41285

(JJS: See also RAID 243117)

    241239

QC#

エリア

32154

Compiler\Delphi\Errors - Warnings

説明:

BT[QC Short Description]
Inner class cannot get access to strict protected virtual method of outer class

[QC Description]
Try to compile this simple project

program Project1;
type
TOuterClass = class
strict private type TInnerClass = class
public procedure InnerProcedure();
strict private var fOuter: TOuterClass;
end;
strict protected procedure OuterProcedure(); virtual;
end;
procedure TOuterClass.TInnerClass.InnerProcedure();
begin
fOuter.OuterProcedure(); // error here
end;
procedure TOuterClass.OuterProcedure();
begin
end;
begin
end.

Method TOuterClass.TInnerClass.InnerProcedure cannot call OuterProcedure.
Error occured - [Pascal Error] Project1.dpr(12): E2362 Cannot access protected symbol TOuterClass.OuterProcedure
QC Entry 32154

    241983

QC#

エリア

32786

Compiler\Delphi\Errors - Warnings

説明:

[QC Short Description]
Inner class cannot get access to strict protected overloaded method of outer class

[QC Description]
Try to compile this simple project

program Project1;
type
TOuterClass = class
strict private procedure SomeProc(); overload;
strict private procedure SomeProc(I: Integer); overload;
strict private type TInnerClass = class
strict private var fOuter: TOuterClass;
strict private procedure Proc();
end;
end;
procedure TOuterClass.SomeProc();
begin
end;
procedure TOuterClass.SomeProc(I: Integer);
begin
end;
procedure TOuterClass.TInnerClass.Proc();
begin
fOuter.SomeProc(1);
end;
begin
end.

Method TOuterClass.TInnerClass.Proc cannot call SomeProc.
Error occured - [Pascal Error] Project1.dpr(22): E2389 Protected member 'TOuterClass.SomeProc' is inaccessible here
QC Entry 32786

    249970

QC#

エリア

45336

Compiler\Delphi\Language\Overloading

説明:

[QC Short Description]
cannot implicitly cast records to Float type

[QC Description]
with overloading Implicit operator, one cannot assign the record directly to a float variable
eg:

var
D: Double;
R: TMyRec;

begin
D := 1.1;
R := D;
D := R; << will not compile
however, doing:
D := Double(R); << will compile just fine and work correctly
QC Entry 45336

    248951

QC#

エリア

43943

Compiler\Delphi\Interaction with UI

説明:

[QC Short Description]
IDE disappears when opening D7 forms.pas

[QC Description]
When opening the forms.pas source file from Delphi 7, the IDE opens the file but shortly afterwards just disappears without any message. See steps for more details.

Debugging the IDE with itself revealed that this is most probably a stack overflow. While debugging the debugger showed

"Project C:\BORLAND\BDS\5.0\bin\bds.exe faulted with message: 'access
violation at 0x7c91eddc: write of address 0x01650ecc'. Process Stopped. Use
Step or Run to continue."

The call stack looked like this:

:7c91eddc ntdll.strchr + 0xdb
:7c937e78 ; C:\WINDOWS\system32\ntdll.dll
:7c922c99 ntdll.LdrFindResource_U + 0x18
:7c80aceb kernel32.FindResourceExW + 0x63
:7e369dbb user32.LoadCursorW + 0x52
:7e369e4e user32.LoadStringW + 0x18
:04b8868f ; C:\BORLAND\BDS\5.0\bin\DCC100.dll
:04b88e27 ; C:\BORLAND\BDS\5.0\bin\DCC100.dll
:04b88af6 ; C:\BORLAND\BDS\5.0\bin\DCC100.dll
:04b88e27 ; C:\BORLAND\BDS\5.0\bin\DCC100.dll
:04b88af6 ; C:\BORLAND\BDS\5.0\bin\DCC100.dll
:04b88e27 ; C:\BORLAND\BDS\5.0\bin\DCC100.dll

and then the f6/27 pair follows for about another 1500 times indicating a stack overflow

QC Entry 43943

    248718

QC#

エリア

43199

RTL\Delphi\WinAPI

説明:

[QC Short Description]
HelpShowTableOfContents gives error 'Unable to find a Table of Contents.'

[QC Description]
OS: Windows XP
IDE: Delphi 2007

My application calls Application.HelpShowTableOfContents to show the help file. This worked in Delphi 2006.

Exp: Help file is shown, without error.
Act: Help file is shown, but also an error message 'Unable to find a Table of Contents.'

In the attachment, the problem is shown with an HTMLHelpfile (chm), but the problem also occurs with a WinHelpFile (hlp).
QC Entry 43199

    250092

QC#

エリア

45532

RTL\Delphi\Other RTL

説明:

[QC Short Description]
Bug in ObjAuto.pas affects CreateMethodPointer functionality

[QC Description]
The unit "Win32\rtl\common\ObjAuto.pas" contains a bug where an incorrect amount of memory is allocated.

QC Entry 45532

    249973

QC#

エリア

3910

RTL\Delphi\Other RTL

説明:

[QC Short Description]
AccessViolation in TBucketList and TObjectBucketList DeleteItem

[QC Description]
I have been getting access violations when freeing TCustomBucketList subclasses:

EXCEPTION: Access violation at address 40003447 in module 'rtl60.bpl'. Read of address 05254000
$40003445 rtl60.bpl System Move
$40010C3D rtl60.bpl SysUtils AppendChars
$40010CAD rtl60.bpl SysUtils AppendNumber
$40040B6A rtl60.bpl Contnrs TCustomBucketList.Clear
$40040C01 rtl60.bpl Contnrs TCustomBucketList.Destroy

Looking at the code for TCustomBucketList, I think I've found the problem:

function TCustomBucketList.DeleteItem(ABucket, AIndex: Integer): Pointer;
begin
with Buckets[ABucket] do
begin
Result := Items[AIndex].Data;
if Count = 1 then
SetLength(Items, 0)
else
System.Move(Items[AIndex + 1], Items[AIndex],
(Count - AIndex) * SizeOf(TBucketItem));
Dec(Count);
end;
end;

When Count = Length(Items) and AIndex = High(Items), the System.Move call attempts to move 1 record from past the end of the array (Items[AIndex + 1]) into the array.

When Count = Length(Items) and AIndex < High(Items), the System.Move call attempts to move Count - AIndex items from AIndex + 1 up. There are only Count - AIndex - 1 items from AIndex + 1 up though. For example:

Count = 7
Length(Items) = 7
AIndex = 4
Count - AIndex = 3
Moving 3 Items from AIndex + 1 to AIndex (items 5, 6 and 7 despite their being no item 7).

I have added Contnrs to my own test project with range checking switched on. When a bucket list has a full bucket (Count = Length(Items)) and is freed, I get a RangeCheckError from the System.Move call.
QC Entry 3910

    248518

QC#

エリア

38342

SOAP\WSDL Importer

説明:

[QC Short Description]
WSDL Importer renames "name" to "name_"

[QC Description]
Importing a WSDL in Delphi 2006 that has an element name of "name" renames it to "name_". For example:
It did not do this in Delphi 7 and fail to correctly populate the resulting "name_" properties from SOAP messages. Doing a global rename of all "name_" occurances back to "name" works as expected.
QC Entry 38342

    238323

QC#

エリア

22253

Modeling\IDE Integration

説明:

[QC Short Description]
Added units do not show up in model view

[QC Description]
If you add a unit to your project, it will not show up in the model view.

After following the steps below, you could try some of this to make it show up:

- right-click on model view and choose "reload" (does not work)

- "synchronize model view" from a diagram (does not work)

- save the unit to disk (does not work).

- close the entire project and then open it up again (does work, but should not be needed).
QC Entry 22253

[SpUpd]

    235704

QC#

エリア

21228

Modeling\Printing

説明:

[QC Short Description]
Overview in documentation generation is just a black box

[QC Description]
The overview feature is not working for generated documentation.
QC Entry 21228

[BCD]

[SpUpd]

Server Response from: ETNASC04