Delphi 2009 Quality Central Reported Bug Fixes

By: Chris Pattinson

Abstract: List of 343 Quality Central reports fixed in Delphi 2009 since RAD Studio 2007, Update 3

3290 fixes total were completed for Delphi 2009.

The 343 listed here are fixes to reports made by customers into the public bug tracking system, Quality Central , since the release of RAD Studio 200 Update 3 as part of the drive to improve the RAD Studio product quality.

A dynamic link to this list can be found here:

http://qc.codegear.com/wc/qcmain.aspx?search=1&stat=30&res=10&proj=10&rib=12

The reports are sorted by Area alphabetically.

These older publicly reported bugs fixed in D2009 include:

  • 21 ActiveX
  • 24 Compiler
  • 11 Database
  • 8 Debugger
  • 41 Documentation
  • 81 IDE
  • 12 Install
  • 62 RTL
  • 63 VCL

From the set of 3290 fixes total, here are a few areas and number of bugs fixed:

  • 173 Active X
  • 198 Compiler
  • 249 Database
  • 91 Debugger
  • 25 Demos
  • 148 Documentation
  • 952 IDE
  • 385 Install
  • 259 RTL
  • 411 VCL

QC #:

Date Reported:

Area:

23325

1/10/2006

Documentation

Description:

Steps:

[QC Short Description]
TTcpClient not documented

[QC Description]
TTcpClient is not documented. TClientSocket is, but is not on the component palette.
QC Entry 23325


[Internet\Controls\TTcpClient]

QC #:

Date Reported:

Area:

34855

10/5/2006

Documentation

Description:

Steps:

[QC Short Description]
Windows and SysUtils - description of Sleep procedure issue

[QC Description]
In documentation is:

Delay program execution for a specified number of microseconds.

but should be:

Delay program execution for a specified number of milliseconds.
QC Entry 34855

in help look for sleep and choose some of this topics: SysUtils.Sleep Routine Windows.Sleep Routine Borland.Vcl.SysUtils.Sleep Routine Borland.Vcl.Windows.Sleep Routine

QC #:

Date Reported:

Area:

25754

3/5/2006

Documentation

Description:

Steps:

[QC Short Description]
File | New | DataModule menu item no longer exists but it is mentioned in documentation

[QC Description]
You can no longer select File | New | Datamodule from the default File | New menu in Delphi 2006. However this is the method mentioned when creating a new datamodule for a project.

ms-help://borland.bds4/bds4win32devguide/html/idh_useop_creatingandeditingdatamodules.htm
QC Entry 25754

QC #:

Date Reported:

Area:

23550

1/14/2006

Documentation

Description:

Steps:

[QC Short Description]
TNotifyEvent type help topic missing

[QC Description]
I wanted to lookup the events associated with TMenuItem. I eventually found TNotifyEvent. There's no link to TNotifyEvent in the topic, and if I search for it via the index there's a very general description of it, but not the actual definition of TNotifyEvent.

In Delphi 7 there is the same text, but an extra topic called TNotifyEvent type which has all the documentation I was expecting. So why is this removed in Delphi 2006?

TNotifyEvent is used for events that do not require parameters.

Unit

Classes

Delphi syntax:

type TNotifyEvent = procedure (Sender: TObject) of object;

C++ syntax:

typedef void __fastcall (__closure *TNotifyEvent)(System::TObjectTObject* Sender);

Description

The TNotifyEvent type is the type for events that have no event-specific parameters. These events simply notify the component that a specific event occurred. For example, OnClick, which is of type TNotifyEvent, notifies the control that a click event occurred on the control.

The Sender parameter is the object whose event handler is called. For example,.with the OnClick event of a button, the Sender parameter is the button component that is clicked.
QC Entry 23550

Lookup help for TNotifyEvent

QC #:

Date Reported:

Area:

36640

11/16/2006

Documentation

Description:

Steps:

[QC Short Description]
TrueBoolStrs and FalseBoolStrs have incorrect declaration

[QC Description]
The help topic for SysUtils.TrueBoolStrs claims it is declared as

var TrueBoolStrs: .74

see ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_SysUtilsTrueBoolStrsVariable.htm

The same applies to FalseBoolsStrs:

var FalseBoolStrs: .84

see ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_SysUtilsFalseBoolStrsVariable.htm

The same issues applies to the .NET help topics!
QC Entry 36640

QC #:

Date Reported:

Area:

23811

1/19/2006

Documentation

Description:

Steps:

[QC Short Description]
Build Control help items are incorrectly formatted

QC Entry 23811

1. Enter the following link into the help window ms-help://borland.bds4/bds4ref/html/description_package.htm 2. Check out the Build control topic. Rebuild as needed text is very close to the explanation text and the Explicit Rebuild explanation should be under the Rebuild as needed topic as it is also a Build control topic.

QC #:

Date Reported:

Area:

55306

11/27/2007

Documentation

Description:

Steps:

[QC Short Description]
No documentation for builtin functions like "Copy"

QC Entry 55306

This is with Delphi 2007 Win32 patch 3, plus online help patch 1. 1. Open online help. 2. Set the filter to "Language: Delphi" 3. Go to the help index (not fulltext search) and type "Copy" 4. Nothing is found. 5. Search for _Copy 6. It exists, but the auto-generated documentation is worthless. I'm happy to note that *most* global functions, however (like StrToInt), are now findable in the index, where they weren't before because they were only indexed under their unit, like SysUtils.StrToInt.

QC #:

Date Reported:

Area:

53780

10/22/2007

Documentation

Description:

Steps:

[QC Short Description]
Help says Image Editor is included, when it is not

[QC Description]
The following link in the docs:

ms-help://borland.bds5/devcommon/toolsoverview_xml.html

says that Image Editor is included in the tools supplied with CodeGear RAD Studio.

It hasn't been provided for some time.



QC Entry 53780

See description

QC #:

Date Reported:

Area:

22568

12/20/2005

Documentation

Description:

Steps:

[QC Short Description]
Documentation for the TButton wordwrap property refers to Label instead of Button

[QC Description]
The documentation for the TButton wordwrap property refers to Label instead of Button.

ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_StdCtrlsTButtonControlWordWrapProperty.htm
QC Entry 22568

ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_StdCtrlsTButtonControlWordWrapProperty.htm Open the following link to the help and read the text. Several times the text refers to Label instead of Text.

QC #:

Date Reported:

Area:

25415

2/25/2006

Documentation

Description:

Steps:

[QC Short Description]
Critical Funtions Not Documented

[QC Description]
The following routines cannot be found in help file. Also their parameters are not shown in code editor's symbol lookup popup box. (Their parameter are partially shown in the tool-tip that appears when developer opens a parenthesis.) All of them belong to System unit.
1. Addr
2. Append
3. Assert
4. Assigned
5. AssignFile
6. BlockRead
7. BlockWrite
8. Break
9. Chr
10. Close
11. CloseFile
12. Continue
13. Copy
14. Date
15. Dec
16. Delete
17. Dispose
18. Eof
19. Eoln
20. Erase (Only Win32 version is missing)
21. Exit
22. FillChar
23. Finalize
24. FreeMem
25. GetMem
26. Halt
27. Hi
28. High
29. Inc
30. Initialize
31. Insert
32. Length
33. Lo
34. Low
35. New
36. Ord
37. Pred
38. Ptr
39. Random
40. ReallocMem
41. Round
42. SetLength
43. SetString
44. SizeOf
45. Str
46. Succ
47. Trunc
48. VarCast
49. VarClear (Only Win32 version is missing)
50. VarCopy
51. Writeln
QC Entry 25415

N/A

QC #:

Date Reported:

Area:

45914

5/14/2007

Documentation

Description:

Steps:

[QC Short Description]
Compiler directives missing for Delphi and C++
ref:250426
[QC Description]
Searching on help for compiler directives comes back with 2 options, which are both useless.

// Holger Flick: holds true for German as well

QC Entry 45914

1. Start RAD Studio, Spacely, Cogswell 2. Go to ? / Help... Searching on help for compiler directives comes back with 2 options ms-help://borland.bds5/devcommon/delphicompdirectiveslist_xml.html which is empty and ms-help://borland.bds5/devcommon/fhxr10869_xml.html which mentions how to use them and to look at the empty one, no directives are listed there is nothing for C++ specifically

QC #:

Date Reported:

Area:

43935

4/6/2007

Documentation

Description:

Steps:

Reference for Copy/System.Copy missing.

[QC Short Description]
Help takes some time to load for references to "Copy", and System.Copy is missing

[QC Description]
As per short description:

The help takes some time to load for references to "Copy", and System.Copy is missing from the list.
QC Entry 43935

1. Start D2007
2. File->New->VCL Forms Application
3. Double click the form to create a FormCreate handler
4. Type Copy into the handler.
5. Put the cursor at the beginning of Copy and press F1

Act: The help takes at least 30 seconds to display any results, and the IDE is unusable during this time. System.Copy is not listed in the results.
Exp: The response should be only a few seconds and System.Copy should be in the list.

----Hi Chris, the performance issue is the main problem. Pls reassign as appropriate. -Dee

QC #:

Date Reported:

Area:

41524

2/28/2007

Documentation

Description:

Steps:

[QC Short Description]
Installing a Debugger on a Remote Machine

[QC Description]
[BETA]

Documentation incorrect.

Locate the following files on the local machine:
rmtdbg100.exe => Should be rmtdbg105.exe
bccide.dll
bordbk100.dll => Should be bordbk105.dll
bordbk100N.dll => Should be bordbk105N.dll
comp32x.dll
dbkpro100.dll => Should be dbkpro105.dll
DCC100.DLL
DCC100IL.DLL => File does not exist
Borland.dbkasp.dll => File does not exist
By default, all of these files are in C:\Program Files\Borland\BDS\4.0\Bin. => Should be C:\Program Files\CodeGear\RAD Studio\5.0\bin

Copy the files from your local machine to the directory you created on the remote machine.
On the remote computer,

register bordbk100.dll and bordbk100n.dll

==> Should be register bordbk105.dll and bordbk105n.dll


by running the regsvr32.exe registration utility. For example, on Windows XP, enter C:\Windows\System32\regsvr32.exe bordbk100.dll at the command prompt, then enter C:\Windows\System32\regsvr32.exe bordbk100n.dll.

==> Should be

C:\Windows\System32\regsvr32.exe bordbk105.dll at the command prompt, then enter C:\Windows\System32\regsvr32.exe bordbk105n.dll.


QC Entry 41524

QC #:

Date Reported:

Area:

53038

10/5/2007

Documentation

Description:

Steps:

[QC Short Description]
TApplication.MainFormOnTaskBar property

[QC Description]
1.
For current paragraph
"MainFormOnTaskBar is intended to be set at startup and persist throughout
the duration of the application. Changing this property at runtime could
result in unexpected behavior. "

suggest alternative:

If a change to default behavior is required, MainFormOnTaskBar should be set
in the dpr file after Application.Initialize and before main form creation.
The MainFormOnTaskBar setting is intended to persist for the life of the
application; later runtime changes of this property could result in
unexpected behavior.

Rationale: This is consistent with the following example, and the contrast
between setting the property "at startup" vs. "at runtime" is unnecessarily
vague. Startup is a runtime process.

2.
F1 on the property results in
---------------------------
Error
---------------------------
No help found for Forms.MainFormOnTaskBar.
---------------------------
OK Details >>
---------------------------
QC Entry 53038

none

QC #:

Date Reported:

Area:

42835

3/19/2007

Documentation

Description:

Steps:

The search result from delphi help is not displayed when the keyword has a reference other than delphi help.

[QC Short Description]
No help-topic linked to "procedure" index-enry

[QC Description]
try to type procedure into index
QC Entry 42835

see 247441 also

try to type procedure into index (e.g. Length, SetLength, Dec etc..)

act: no topic linked for the first line of the entry find

QC #:

Date Reported:

Area:

51500

9/3/2007

Documentation

Description:

Steps:

[QC Short Description]
Help pages with HTML entities

[QC Description]
Several pages contain HTML entities (for example "&apos;", "<", ">", "&") instead of the chars the represent.

see steps
QC Entry 51500

- open the (german) Highlander help - search for "&apos;" - this returns two pages and the first result contains HTML entities page: ms-help://borland.bds5/devcommon/bcc32_c++compatibility_xml.html one example from that page expected: "-Vbs Behandelt String-Literale nicht als 'const'." actual: "-Vbs Behandelt String-Literale nicht als &apos;const&apos;." - search for "<" - this returns 98 pages examples (search result 5, 6 and 7) page: ms-help://borland.bds5/devwin32/invalididentifier_xml.html expected: "<name> ist kein gueltiger Bezeichner" actual: "<name> ist kein gueltiger Bezeichner" page: ms-help://borland.bds5/delphivclwin32/MidProd_TCustomInetXPageProducer_Content.html one example from that page expected: "<#INCLUDES> generiert Anweisungen, die die Javascript-Bibliotheken an der in IncludePathURL angegebenen Adresse einbinden." actual: "<#INCLUDES> generiert Anweisungen, die die Javascript-Bibliotheken an der in IncludePathURL angegebenen Adresse einbinden." page: ms-help://borland.bds5/delphivclwin32/SiteProd_TAdapterPageProducer_HTMLDoc.html one example from that page expected: "Das Tag beginnt mit einer spitzen Klammer (<) und einem Nummernzeichen (#)." actual: "Das Tag beginnt mit einer spitzen Klammer (<) und einem Nummernzeichen (#)." - search for ">" - this returns 85 pages examples (search results 5, 6, 7) page: ms-help://borland.bds5/delphivclwin32/MidItems_IHTMLField.html one example from that page expected: "Schnittstellen der Klasse IHTMLField m ssen in Web-Elementen implementiert werden, die HTML-Eingabekomponenten <INPUT> generieren." actual: "Schnittstellen der Klasse IHTMLField m ssen in Web-Elementen implementiert werden, die HTML-Eingabekomponenten <INPUT> generieren." page: ms-help://borland.bds5/delphivclwin32/SiteProd_TBaseAdapterPageProducer.html one example from that page expected: "<#STYLES> - Dieses Tag wird durch die in der Eigenschaft Styles oder StylesFile angegebene Formatvorlage ersetzt." actual: "<#STYLES> - Dieses Tag wird durch die in der Eigenschaft Styles oder StylesFile angegebene Formatvorlage ersetzt." page: ms-help://borland.bds5/delphivclwin32/SiteProd_TBaseAdapterPageProducer_GetRequiredTags.html expected: "GetRequiredTags gibt einen String mit den speziellen Tags zur ck, die vom Seitengenerator zum Erstellen des HTML-Dokuments ben tigt werden ('<#STYLES> <#WARNINGS> <#SERVERSCRIPT>')." actual: "GetRequiredTags gibt einen String mit den speziellen Tags zur ck, die vom Seitengenerator zum Erstellen des HTML-Dokuments ben tigt werden ('<#STYLES> <#WARNINGS> <#SERVERSCRIPT>')." - search for "&" - this returns 9 pages example ms-help://borland.bds5/devwin32/ref_deref_ops_xml.html expected: "T *ptr = &t1 wird behandelt als" actual: "T *ptr = &t1 wird behandelt als"

QC #:

Date Reported:

Area:

25440

2/26/2006

Documentation

Description:

Steps:

[QC Short Description]
TFont.Orientation

[QC Description]
TFont.Orientation is not described in the help file at all
QC Entry 25440

1. Open the help for TFont 2. Notice that the Orientation property is nowhere documented

QC #:

Date Reported:

Area:

31315

7/16/2006

Documentation

Description:

Steps:

[QC Short Description]
Not all TControlStyle set members are documented

[QC Description]
The following TControlStyle set members are not documented:

csNeedsBorderPaint
csParentBackground
csAlignWithMargins
QC Entry 31315

Run Help (within Delphi 2006 Help | Borland Help) Search for TControlStyle and select the Win32 topic Direct Link is: ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_ControlsTControlStyleType.htm

QC #:

Date Reported:

Area:

49366

7/20/2007

Documentation

Description:

Steps:

[QC Short Description]
Help index is completely broken

[QC Description]
Example

Filter: (No filter)
Select the Index tab, scroll to "Currency data type" and click the entry.

Actual behavior:
Help for
Visual Basic Scripting Edition CCur Function
is shown.

Expected behavior:
Help about the Currency data type should be shown.


Also

Filter: Language: Delphi
The index entry for "Currency data type" is missing.

clicking CurrencyDecimals or CurrencyFormat shows completely unrelated topics.


Also

Create a new empty VCL forms project and add a Currency variable liek this:
type
TForm1 = class(TForm)
private
{ Private declarations }
abc: Currency; // add this line
public
Place the cursor on the Currency text and press F1.
13 topics is shown in a list, all is wrong.
When you close the list there is a message saying "The keyword is not defined".
QC Entry 49366

QC #:

Date Reported:

Area:

48785

7/9/2007

Documentation

Description:

Steps:

[QC Short Description]
The TToolButton.Index Property page has an incorrect link

[QC Description]
On the TToolButton.Index property page there is supposed to be a link to the TToolbar Buttons property. The problem is that the Buttons link navigates to the Buttons namespace (unit) help page.
QC Entry 48785

Karyn,
The link in the Description goes to Buttons namespace and that is auto-generated by DocOMatic and I don't believe it can be changed. However the "See Also" link goes to TToolbar.Buttons as the customer wants. Is it possible to update the text under See Also so that it is obvious that the link points to TToolbar.Buttons?
-Dee

1. Open the documentation 2. Enter in the URL: ms-help://borland.bds5/delphivclwin32/ComCtrls_TToolButton_Index.html 3. In the description see that there is a link to Buttons. 4. Click on this link exp: Navigate to the help page for the TToolbar.Buttons property (ms-help://borland.bds5/delphivclwin32/ComCtrls_TToolBar_Buttons.html) act: You navigate to the Buttons namespace page (ms-help://borland.bds5/delphivclwin32/Buttons.html) The link listed under See Also is correct

QC #:

Date Reported:

Area:

32582

8/10/2006

Documentation

Description:

Steps:

[QC Short Description]
MessageDlg help topic incorrect

[QC Description]
The description is mentioning parameters that MessageDlg actually doesn't take!
QC Entry 32582

Open help page for MessageDlg: ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_DialogsMessageDlgRoutine.htm The description describes the parameter Caption which is used if DlgType is mtCustom. This is wrong: - because there is no Caption parameter for MessageDlg - if DlgType is mtCustom Application.Title is used as the caption of the message dialog Additionally the Parameters X and Y are described. These are not part of MessageDlg, but MessageDlgPos! The Parameter Bitmap is also described but nowhere to be found.

QC #:

Date Reported:

Area:

23083

1/4/2006

Documentation\Online Help

Description:

Steps:

[QC Short Description]
Delphi "Paths & Directories" help brings up C++ "Paths and Directories" help page

[QC Description]
Online help for Tools/Options/Environment Options/Delphi Options/Library - Win32 brings up the wrong page.
QC Entry 23083

1: From IDE "Tools" menu, select Options... 2: Under Environment Options, choose "Delphi Options". 3: "Library - Win32" shows a Paths and Directories dialog. 4: Select this page, and press "Help". 5:This page (only relevant for C++) is displayed. ms-help://borland.bds4/bds4ref/html/cpppathsanddirectories.htm

QC #:

Date Reported:

Area:

34675

10/1/2006

Documentation\Online Help

Description:

Steps:

[QC Short Description]
Description of PeekMessage function in Delphi Help and MSDN differ

[QC Description]
Compare description of hWnd parameter:

in Delphi Help
ms-help://borland.bds4/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesfunctions/peekmessage.htm

<<skiped>>
If hWnd is NULL, PeekMessage retrieves messages for any window that belongs to the current thread.
<<skiped>>

in MSDN
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesfunctions/peekmessage.asp

<<skiped>>
If hWnd is NULL, PeekMessage retrieves messages for any window that belongs to the current thread, and any messages on the current thread's message queue whose hwnd value is NULL (see the MSG structure). Therefore if hWnd is NULL, both window messages and thread messages are processed.
<<skiped>>

============
The important difference is MSDN says that "...and any messages on the current thread's message queue whose hwnd value is NULL. Therefore if hWnd is NULL, both window messages and thread messages are processed.",

but Delphi Help doesn't say this.




QC Entry 34675

n/a this is documentation problem

QC #:

Date Reported:

Area:

22118

1/8/2007

Documentation\Online Help

Description:

Steps:

[short description]
No information about Live Templates in the help file


// for more information about Live templates, do some google search.

http://blogs.teamb.com/deborahpate/articles/22331.aspx

QC #:

Date Reported:

Area:

52205

9/18/2007

Documentation\Online Help

Description:

Steps:

[QC Short Description]
Documentation missing

[QC Description]
Documentation for the Interbase Express and Interbase admin components is missing.

For example where is the description of the methods for TIBTransaction?
QC Entry 52205

Look in the help

QC #:

Date Reported:

Area:

39864

2/3/2007

Documentation\Online Help\Object Pascal

Description:

Steps:

[QC Short Description]
The topic "Conditional compilation (Delphi)" needs to be extended, and linked from various places

[QC Description]
Back in the D2-D7 era, there used to be a "See also" link in many topics.
Most of these have gone now, and they should be re-introduced.

One of them is a link to "Conditional compilation (Delphi)" (aka "conditional compilation, compiler directives, Delphi").

It should at least be linked from:
" IFDEF directive (Delphi)" (aka "$IFDEF, compiler directives, Delphi")
"IF directive (Delphi)" (aka "$IF, compiler directives, Delphi")

This saves a ton of NG questions about findout out the right compiler and class library versions.

In addition, this topic needs some information like below (it is the topmost question for 3rd party vendors how to cover multiple Delphi versions):

<<
Since Delphi 6, to find out which compiler and run-time library you are compiled with, the easiest and preferred way is to use $IF and CompilerVersion, RTLVersion and other constants.
An example:

{$IFDEF CONDITIONALEXPRESSIONS}
{$IF CompilerVersion >= 17.0}
{$DEFINE HAS_INLINE}
{$IFEND}
{$IF RTLVersion >= 14.0}
{$DEFINE HAS_ERROUTPUT}
{$IFEND}
{$ENDIF}
>>

In addition, these defines must end up in the index and point to "Conditional compilation (Delphi)" (aka "conditional compilation, compiler directives, Delphi").

CompilerVersion
RTLVersion
VER140
VERxxx
MSWINDOWS
WIN32
CLR
CLX
LINUX
CPU386
CONSOLE
CONDITIONALEXPRESSIONS

QC Entry 39864

QC #:

Date Reported:

Area:

31615

7/23/2006

Documentation\Online Help\Programmers guide

Description:

Steps:

[QC Short Description]
Compiler Directives Help typos

[QC Description]
The help for compiler directives has some typos and things that could be clarified. See Steps.
QC Entry 31615

Under "compiler directives" in the index is a line that says ", delphi". This probably doesn't belong there (seems to be part of the next entry "hinting directives"). The page ms-help://borland.bds4/bds4ref/html/DelphiCompDirectivesList.htm lists "$MEHTODINFO directive (Delphi)". I believe the "$" shouldn't be included (it isn't for the other directives). The page ms-help://borland.bds4/bds4ref/html/DelphiCompDirectivesList.htm doesn't list the $inline directive. Nor is the $inline directive listed in the index. The page ms-help://borland.bds4/bds4ref/html/compdirswarningmsg.htm says, "The $WARN directive lets control the display of groups of warning messages." The word "you" needs to be inserted after "lets". Is there some way to get directly to the page ms-help://borland.bds4/bds4ref/html/DelphiCompDirectivesList.htm from the index? On the page ms-help://borland.bds4/bds4ref/html/DelphiCompDirectivesList.htm under the heading "In This Section", there is a link "Compiler Directives". Clicking this goes to another page that is also titled "Compiler Directives" (like the first page). This one has only a single link: back to the first page.

QC #:

Date Reported:

Area:

52333

9/21/2007

Documentation\Online Help\VCL

Description:

Steps:

[QC Short Description]
Help of Length function is not found

[QC Description]
Length function in System namespace is not found.

BDS2006 is
ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_SystemLengthRoutine.htm
QC Entry 52333


This report is from newsgroup. borland.public.delphi.japanese

QC #:

Date Reported:

Area:

25788

3/6/2006

Documentation\Online Help\VCL

Description:

Steps:

[QC Short Description]
TForm member list is missing Caption

[QC Description]
The help for TForm does not list the Caption property.
The Caption property is not listed in either the Properties list,
or the All Members list

ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_FormsTFormClass.htm
QC Entry 25788

QC #:

Date Reported:

Area:

31393

7/18/2006

Documentation\Online Help\VCL

Description:

Steps:

[QC Short Description]
TPenStyle description is incomplete

[QC Description]
The description for TPenStyle in the Online Help
(ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_GraphicsTPenStyleType.htm)

is incomplete, it does not describe the meaning of psUserStyle and psAlternate.
QC Entry 31393

* open OLH * search for TPenStyle * look hard ;-)

QC #:

Date Reported:

Area:

51775

9/10/2007

Documentation\Online Help\VCL

Description:

Steps:

[QC Short Description]
TPadding documentation scarce

[QC Description]
The documentation for TPadding just says that it handles the padding of a control.

What does that mean? How does padding work? How is it different from TMargins?

Update 20080307 -

There was a comment asking that I add my suggested doc text changes to the main description, so here it is.

"Padding adds space along the edge the control. Child controls that are aligned to the parent, are positioned inside the control according to this spacing. It does not affect child controls which are not aligned to the parent control, nor does it affect the size of the ClientArea.

Padding is the opposite of Margins, in that where Margins affects the positioning of the control itself inside the parent control, Padding affects how all aligned child controls are positioned with respect to the parent control."
QC Entry 51775

QC #:

Date Reported:

Area:

35355

10/17/2006

Documentation\Online Help\VCL

Description:

Steps:

[QC Short Description]
TCustomIniFile.ReadSections documentation is incomplete

[QC Description]
TCustomIniFile has got two overloaded ReadSections methods:

procedure ReadSections(Strings: TStrings); abstract; overload; virtual;

and

procedure ReadSections(const Section: string; Strings: TStrings); overload; virtual;

The documentation in ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_IniFilesTCustomIniFileReadSectionsMethod.htm only documents the version that takes only a TStrings parameter. It lists both versions only describes one.

<sysop>
The same issue applies to VCL.NET and C++ Builder too:
ms-help://borland.bds4/bds4dnetapi_dnet/html/DelphiNET_BorlandVclIniFilesTCustomIniFileReadSectionsMethod.htm
ms-help://borland.bds4/bds4win32api_cpp/html/CPPWin32_IniFilesTCustomIniFileReadSectionsMethod.htm

Additionally, the documentation for TMemIniFile and TIniFile (VCL and VCL.NET) doesn't mention the second overloaded version:
ms-help://borland.bds4/bds4dnetapi_dnet/html/DelphiNET_BorlandVclIniFilesTMemIniFileReadSectionsMethod.htm
</sysop>
QC Entry 35355

lookup TCustomIniFile.ReadSections in the online help, search for a description of the second form.

QC #:

Date Reported:

Area:

24833

2/13/2006

Documentation\Online Help\Main help

Description:

Steps:

[QC Short Description]
TSearchRec record fields not documented properly.

[QC Description]
The help entry for TSearchRec ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_SysUtilsTSearchRecType.htm
does not show and explain the fields of the record, which makes the help entry pretty useless.

<sysop>This page suffers from very poor formatting. The fields Time,Size,Name, etc. are actually described - briefly - at the foot of the page, but they are not shown in the record description at the head of the page.
</sysop>
QC Entry 24833

look at the help for TSearchRec: <ms-help://borland.bds4/bds4win32api_win32/html/DelphiWin32_SysUtilsTSearchRecType.htm> The types of the fields are not shown.

QC #:

Date Reported:

Area:

39854

2/2/2007

Documentation\IDE Help Contexts

Description:

Steps:

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

[QC Description]
No help for "TPersistent.Bottom"
No help for "TPersistent.Right"
QC Entry 39854

5/3/07: The Help dialog displays when you press F1. However, the wrong topic gets displayed. When you press F1 on Bottom or Right, it properly displays a dialog listing various items with a Bottom property, including TMargins, which is what you want. When you press F1 on Left or Top, however, you get TControl.Left Property or TControl.Top Property, which is wrong--it doesn't give you a list of options.
--Gary Staas

1) Place a TDBGrid component on a form. 2) Place cursor on the property editor for "Bottom". 3) Press "F1" for help. Expected result - Help topic for TDBGrid.Bottom Observed result - No help for "TPersistent.Bottom" Repeat steps 2 and 3 for the remaining properties

QC #:

Date Reported:

Area:

49043

7/14/2007

Documentation\IDE Help Contexts

Description:

Steps:

[QC Short Description]
Install Shield mentioned instead of InstallAware

[QC Description]
The following help topic:

ms-help://borland.bds5/devcommon/deployov_xml.html

mentiones Install Shield to be present on the Install CDs instead of Install Aware. This is in the german translation.
QC Entry 49043

1. install the german help 2. open the URL above in the help

QC #:

Date Reported:

Area:

39347

1/25/2007

Documentation\Help Output

Description:

Steps:

[QC Short Description]
Missing topic: WordRec

[QC Description]
WordRec, defined in SysUtils, is missing from the help. Here is the content from the D5 help:

----

WordRec declares a utility record to store high and low order bytes of a variable.

Unit

Sysutils

type

WordRec = packed record
Lo, Hi: Byte;
end;

Description

The WordRec type declares a utility record that stores the high and low order bytes of the specified variable as type Byte. WordRec is used primarily for typecasting.
QC Entry 39347

QC #:

Date Reported:

Area:

39346

1/25/2007

Documentation\Help Output

Description:

Steps:

[QC Short Description]
Missing topic: LongRec

[QC Description]
Help topic for LongRec (defined in SysUtils). Here is the content from the D5 help:

-----

LongRec stores high- and low-order bytes of a specified variable as a Word.

Unit

Sysutils

type

LongRec = packed record
Lo, Hi: Word;
end;

Description

LongRec declares a utility record that stores the high- and low-order bytes of the specified variable as type Word.

LongRec is useful for typecasting four-byte datatypes (pointers, integers, and so on) to access their low and high words separately.
QC Entry 39346

QC #:

Date Reported:

Area:

39030

1/19/2007

Documentation\Help Output

Description:

Steps:

[QC Short Description]
Invalid Declaration for System.TDateTime

[QC Description]
The syntax declaration for System.TDateTime
(ms-help://borland.bds5/bds5win32api_win32/html/DelphiWin32_SystemTDateTimeType.htm) is invalid.

Help contains:

[Delphi] type TDateTime = TDateTime;

Source contains:

TDateTime = type Double;
QC Entry 39030

QC #:

Date Reported:

Area:

53093

10/6/2007

Documentation\Help Output

Description:

Steps:

[QC Short Description]
Wrong description in TActionLink.IsImageIndexLinked

[QC Description]
In the French help file, the short description of TActionLink.IsImageIndexLinked is wrong.
"Indique si les propri t s Hint de l'action et du client sont li es.
"
It talks about Hint but IsImageIndexLinked is the description for an ImageIndex

This wrong description is also in the methods section of TActionLink.
QC Entry 53093

Launch the help (F1) and type "IsImageIndexLinked" See the first description

QC #:

Date Reported:

Area:

43763

4/3/2007

Documentation\Help Output

Description:

Steps:

[QC Short Description]
No documentation on command line compiler

[QC Description]
I could not find any documentation on the dcc32.exe command line compiler or how it uses dcc32.cfg in the bin directory and in the project directory, and how it uses the <projectname>.cfg files.

Also, there is no documentation on what VERXXXX compiler define to use with Delphi 2007.
QC Entry 43763

QC #:

Date Reported:

Area:

41546

2/28/2007

Documentation\Help Output

Description:

Steps:

[QC Short Description]
Help topics Missing

[QC Description]
Dialogs.pas items missing form context help nor is in the index.

Dialogs.MessageDlg
Dialogs.MessageDlgPos
Dialogs.TMsgDlgButtons
Dialogs.MessageDlgPosHelp
Dialogs.TaskMessageDlg
Dialogs.TaskMessageDlgPos
Dialogs.TaskMessageDlgPosHelp
Dialogs.ShowMessage
Dialogs.ShowMessageFmt
Dialogs.ShowMessagePos
Dialogs.InputQuery
Dialogs.PromptForFileName
TMsgDlgType
TMsgDlgBtn
TMsgDlgButtons
QC Entry 41546

In an empty project added the items and selected and pressed F1 or searched the help file. Also opened Dialogs.PAS and selected each and F1'd.

QC #:

Date Reported:

Area:

54191

10/30/2007

IDE

Description:

Steps:

[QC Short Description]
Invalid IDE repaint on 64 bit Windows platforms

[QC Description]
Invalid IDE repaint on 64 bit Windows platforms

The IDE repaints itself totally incorrect when restoring after a minimize. This occurs on 64 bit versions of XP and Vista. The "Classic Undocked" seems unaffected but all other layouts show this bug.

This happens on all installations in our company, and all of them are 64 bit Vista Businesses running on AMD dual cores. The bug is also confirmed on a 64 bit XP.
QC Entry 54191

// Francois Piette
This looks similar as 249198 but I don't think it is. The issue is reproductible in all installation in the company (3 systems) which are all 64 bit XP and Vista with AMD dual-core processor. It looks much related to AMD and 64 bits than to Vista.

1) Open up Delphi 2007 and maximize it 2) Minimize Delphi 3) Click on the application on the taskbar to restore it 4) Voila, the IDE is messed up. Parts of the Welcome page usually appers in the middle of the code. Large areas of gray exist, that are not repainted at all. The upper left corner of the coding tab is missing the "Select/Close view" buttons.

QC #:

Date Reported:

Area:

49072

7/15/2007

IDE

Description:

Steps:

[QC Short Description]
About box: Wrong name for the JEDI Code Library in the Quality Insite(tm) product information in the german version

[QC Description]
In the german about box the name of the JEDI Code Library in the Quality Insite(tm) product information is wrong - it is "JEDI Component Library" instead of "JEDI Code Library". In the english version it is "JEDI Code Library".

I've attached an image of the german version and an image of the english version.
QC Entry 49072

- start the german Highlander version - open the About box (main menu path is "Hilfe"\ "Info ueber...") - select "CodeGear Quality Insite(tm)" in the product listbox - have a look at the credits in the listbox below expected: CodeGear Quality Insite(tm) automatisiertes Senden von Problemreports CodeGear Quality Insite(tm) enth lt Exception- und Stack-Verfolgungscode aus der JEDI Code Library (JCL). Unter http://www.delphi-jedi.org erhalten Sie weitere Informationen. actual (build 2763): CodeGear Quality Insite(tm) automatisiertes Senden von ProblemreportsCodeGear Quality Insite(tm) enth lt Exception- und Stack-Verfolgungscode aus der JEDI Component Library (JCL). Unter http://www.delphi-jedi.org erhalten Sie weitere Informationen. actual english version: CodeGear Quality Insite(tm) automated incident reporting CodeGear Quality Insite(tm) contains exception and stack tracing code from the JEDI Code Library (JCL). Visit http://www.delphi-jedi.org for more information.

QC #:

Date Reported:

Area:

239382

12/16/2005

IDE

Description:

Steps:

CodeGuard Configuration - Global options
Preferences tab

Truncation // Fixed
Repeated Error ( �J��Ԃ��G���[�̋L )
Read debug info ( �f�o�b�O���̓ǂ�) [fixed #10]

Missing accelerator key // Not Fixed
Limit number of error message (N)
�G���[���b�Z�[�W�����̍ő�l [not fixed #10]

Read debug info (D)
�f�o�b�O���̓ǂݍ���[fixed #10]

[update1 : 10.0.2166.28377.6 ]

Can not retest it since bts#239382 is not fixed on Japanese build [10.0.2266.37482.2].

[2006/5/19 by mmatsuchika]
Missing acceralator key is not fixed in 10.0.2288.42451.4 Update 2

1) File | Close All
2) Tool | CodeGurad Configuration
// Preferences tab

QC #:

Date Reported:

Area:

48061

6/25/2007

IDE

Description:

Steps:

[QC Short Description]
Control Enter to open file requires addition of ".pas"

[QC Description]
When using Control + Enter to open the file under the cursor, if Delphi can't find the file it pops up the File Open dialog.

In the file open dialog you need to manually add the ".pas" to the file name for it to open the file, otherwise you get an error "FileNameWithoutExt" File not found.

Also, because of this problem Delphi generally fails to find the filename under the cursor. Even if the file is in the project or is in the current folder, Delphi still brings up the file open dialog and you need to add ".pas" onto the file name.

I haven't worked out when Delphi does manage to find the file by itself but sometimes it does.
QC Entry 48061

1. Open a pas file which uses another pas file, e.g. "Used". 2. Put the cursor in the middle of the word "Used". 3. Hit Control+Enter 4. File open dialog comes up. Navigate to the folder containing "Used.pas" 5. Hit Open in the dialog 6. You get an error message 7. Add ".pas" in the filename edit box. 8. Hit Open in the dialog 9. It now opens the file.

QC #:

Date Reported:

Area:

47609

6/15/2007

IDE

Description:

Steps:

[QC Short Description]
If Welcome Page is closed, IDE crashes when creating/opening a second project

[QC Description]
This is a newly introduced bug in Delphi 2007 Update 1.
It does *not* exist in the original release of Delphi 2007, or in Delphi 2006.

If the Welcome page is closed* when the IDE is configured to use the classic undocked/non-embedded layout, the IDE will get stuck in an error message loop if you attempt to open or create more than one project in a single session.

This is 100% reproducible on a fresh install of Windows (2000 or Vista) with a fresh install of Delphi 2007 Update 1.

*or disabled entirely by hacking startpageide100.bpl out of the registry.

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

[20031735]{rtl100.bpl } Classes.TList.Get (Line 2992, "common\Classes.pas" + 2) + $A
[20031685]{rtl100.bpl } Classes.TList.Error (Line 2961, "common\Classes.pas" + 1) + $14
[20031735]{rtl100.bpl } Classes.TList.Get (Line 2992, "common\Classes.pas" + 2) + $A
[20031716]{rtl100.bpl } Classes.TList.First (Line 2986, "common\Classes.pas" + 0) + $2
[20A450E3]{coreide100.bpl} EditorForm.TEditWindow.WindowActivate (Line 2487, "EditorForm.pas" + 3) + $5
[20A44E72]{coreide100.bpl} EditorForm.TEditWindow.WMActivate (Line 2411, "EditorForm.pas" + 2) + $B
[2013B20B]{vcl100.bpl } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
[20D69752]{designide100.bpl} DeskUtil.SetFocusHook (Line 435, "DeskUtil.pas" + 4) + $C
[2013F38A]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
[20158AA3]{vcl100.bpl } Forms.TCustomForm.WndProc (Line 3512, "Forms.pas" + 136) + $5
[2013EAB4]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
[20040DD4]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
[21DEBD8A]{delphivclide100.bpl} VCLFormDesigner.THostFormWrapper.HideWindow (Line 1645, "VCLFormDesigner.pas" + 1) + $B
[21DE9C8D]{delphivclide100.bpl} VCLFormDesigner.TVCLRootDesigner.Hide (Line 564, "VCLFormDesigner.pas" + 1) + $8
[216EE03F]{delphicoreide100.bpl} DelphiModule.TPascalCodeMgrModHandler.HideForm (Line 960, "DelphiModule.pas" + 1) + $5
[20A05E7C]{coreide100.bpl} SourceModule.TCodeISourceModule.HideForm (Line 1383, "SourceModule.pas" + 3) + $5
[20A04997]{coreide100.bpl} SourceModule.TSourceModule.HideForm (Line 936, "SourceModule.pas" + 2) + $5
[20A6B8AE]{coreide100.bpl} DocModul.TDocModule.Hide (Line 1199, "DocModul.pas" + 0) + $2
[20A04C6F]{coreide100.bpl} SourceModule.TSourceModule.Hide (Line 977, "SourceModule.pas" + 1) + $2
[20A6B5AF]{coreide100.bpl} DocModul.TDocModule.Close (Line 1048, "DocModul.pas" + 10) + $4
[20A6D391]{coreide100.bpl} DocModul.TCodeIDocModule.Close (Line 1926, "DocModul.pas" + 0) + $5
[20A5EF81]{coreide100.bpl} EditorBuffer.TEditBuffer.Close (Line 1989, "EditorBuffer.pas" + 0) + $11
[20A63783]{coreide100.bpl} EditorBuffer.TEditView.Close (Line 4579, "EditorBuffer.pas" + 4) + $3
[20A44993]{coreide100.bpl} EditorForm.TEditWindow.FormDestroy (Line 2304, "EditorForm.pas" + 51) + $4
[20157769]{vcl100.bpl } Forms.TCustomForm.DoDestroy (Line 2959, "Forms.pas" + 3) + $C
[20157597]{vcl100.bpl } Forms.TCustomForm.BeforeDestruction (Line 2919, "Forms.pas" + 7) + $D
[20006BE5]{rtl100.bpl } System.@BeforeDestruction (Line 9548, "sys\system.pas" + 7) + $0
[20D6C606]{designide100.bpl} DeskForm.TDesktopForm.Destroy (Line 817, "DeskForm.pas" + 0) + $2
[2000679C]{rtl100.bpl } System.TObject.Free (Line 8832, "sys\system.pas" + 1) + $4
[2015CA48]{vcl100.bpl } Forms.TCustomForm.CMRelease (Line 5546, "Forms.pas" + 0) + $0
[2013B20B]{vcl100.bpl } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
[20D69752]{designide100.bpl} DeskUtil.SetFocusHook (Line 435, "DeskUtil.pas" + 4) + $C
[2013EBAA]{vcl100.bpl } Controls.GetControlAtPos (Line 7095, "Controls.pas" + 4) + $73
[2013F38A]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
[20031FC4]{rtl100.bpl } Classes.TThreadList.UnlockList (Line 3359, "common\Classes.pas" + 0) + $4
[200EBA24]{vcl100.bpl } Graphics.FreeMemoryContexts (Line 5031, "Graphics.pas" + 12) + $5
[20158AA3]{vcl100.bpl } Forms.TCustomForm.WndProc (Line 3512, "Forms.pas" + 136) + $5
[2013EAB4]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
[20040DD4]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
[201611EC]{vcl100.bpl } Forms.TApplication.ProcessMessage (Line 8102, "Forms.pas" + 23) + $1
[20161226]{vcl100.bpl } Forms.TApplication.HandleMessage (Line 8121, "Forms.pas" + 1) + $4
[20161537]{vcl100.bpl } Forms.TApplication.Run (Line 8219, "Forms.pas" + 20) + $3
[0042298E]{bds.exe } bds.bds (Line 196, "" + 7) + $7
QC Entry 47609

1. Select the "Classic Undocked" desktop layout. 2. Uncheck the "Embedded designer" option (under Tools | Options | Environment Options \ VCL Designer). 3. Close and restart the IDE so the changes take effect. 4. Close the "bds:/default.htm" window (the Welcome page). 5. Click File | New | VCL Forms Application - Delphi for Win32. 6. Click File | New | VCL Forms Application - Delphi for Win32 again. Error: "List index out of bounds (0)" (See Description for the backtrace.) Clicking OK doesn't help; the message just returns. Note: This isn't limited to creating new projects. The same error occurs if you substitute steps 7 and 8 with File | Open Project.

QC #:

Date Reported:

Area:

34289

9/21/2006

IDE

Description:

Steps:

[QC Short Description]
Component icons poorly rendered on form in IDE

[QC Description]
Several VCL non-visual component icons are poorly rendered (pixelated, blurry) when the component is added to a form in the IDE, because the bpl doesn't contain component icons for all 3 different sizes (24, 16 and 32 pixels)

The icons look sharp in the component pallette (they're a smaller size) but the "ugly" icons can be seen in the Component > Install Packages > Components dialog.

This does not impact how the component runs but the poor rendering of the icon in the IDE does make it harder to recognize the icon and know what the component is.

The following component packages display this problem (not an exhaustive list, and not all icons in the package are bad):
- DataSnap connection
- dbExpress
- Interbase Express
- MyBase DataAccess
- SOAP

These same icons look fine in Delphi 7. I jumped from D7 to BDS 2006 so I can't say if this occurred in D8 or BDS 2005.
QC Entry 34289

1. Create a new Win32 project. 2. Add a form to the project. 3. Add a TDataSetProvider component to the form. 4. Add a TDataSource component to the form. The DataSetProvider icon will look ugly compared to the TDataSource icon and compared to its icon in the component pallette. See attached screenshot showing component icons from the dbExpress page in D7 and BDS2006.

QC #:

Date Reported:

Area:

54081

10/29/2007

IDE

Description:

Steps:

[QC Short Description]
IDE crashes hangs (pherhaps Endless loop)

[QC Description]
The IDE hangs if one implements code like this and tries to
save (or compile) the project and accidently having
a property multiple times defined (as it occures through
copy and paste -> then renaming)


This happends with Delphi 2006 and Delphi 2007
QC Entry 54081

Just a note, it does not hang with an Integer property but it does with an Event property.

// Francois Piette
Can reproduce with 2804 and 2854.9859.1

1. Create a new blank VCL project. 2. Change TForm1 to type TForm1 = class(TForm) private fTest : TNotifyEvent; public property OnTest : TNotifyEvent read fTest write fTest; property OnTest : TNotifyEvent read fTest write fTest; property OnTest : TNotifyEvent read fTest write fTest; property OnTest : TNotifyEvent read fTest write fTest; end; 3. Save the project. -> IDE hangs

QC #:

Date Reported:

Area:

41352

2/26/2007

IDE\Dialogs

Description:

Steps:

[QC Short Description]
Use Unit has status bar, not used

[QC Description]
The Use Unit dialog has a status bar that doesn't seem to serve any function, makes the UI
look very odd under Vista.


Sebastian Modersohn - 27/02/2007 03:43:58
-----------------------------------------
It's probably also supposed to show you the path of the selected unit like View Form and
View Unit do (it's the same form). See .ide.dialogs as well.
QC Entry 41352

Under Vista, non-Aero Steps: 1. Start Spacely 2603 2. Create new VCL Form Project 3. In Unit1 invoke Use Unit dialog 4. Look at status bar area Behavior: exp: A status bar with resize handle is visible, with no apparent use act: No status bar

QC #:

Date Reported:

Area:

23155

1/5/2006

IDE\Dialogs

Description:

Steps:

[QC Short Description]
Bad dialog caption

QC Entry 23155

This should really be listed under IDE\Dialogs\Configure Tools but there is no such area in QC. Steps: 1. Tools -> Configure Tools 2. Edit any existing entry 3. Click the Browse button to choose a program Note that the dialog has a caption of "Select Transfer Item" instead of something more logical like "Select Program"

QC #:

Date Reported:

Area:

48532

7/4/2007

IDE\Dialogs

Description:

Steps:

[QC Short Description]
German translation of the Options/Tool pallette section the "Designer Elemente immer anzeigen" Text is too long

[QC Description]
The german translation of the Options/Tools dialogue's pallette section the "Designer Elemente immer anzeigen" Text is to long.
QC Entry 48532

QC #:

Date Reported:

Area:

2578

10/3/2002

IDE\Dialogs

Description:

Steps:

[QC Short Description]
Verbose and Exportable Compile Report in IDE

[QC Description]

The "Compiler Progress" dialogue should (optionally) be more detailed and also allow to export the compile statistics to text file or clipboard.

For example, I'd like the build report to (optionally) provide a full list of all source modules that were compiled, all switches that were used (and where; globally/locally), all conditional symbols, characteristics of the built executables/dlls/packages [size, timestamp, file version], all compiler hints/warnings, etc.

I'd want this list to be visible as an extension to the "Compile" dialogue when it is finished, and with a single keystroke copy its data (Ctrl+C) to the clipboard or save it (Ctrl+S) to a text file.
QC Entry 2578

UPDATE from QA:
Go to Tools | Options | Environment Options | Verbosity
Currently it's set to Normal but set to Detailed should give you what you want.
Details will be output to the output tab (not the build tab)

QC #:

Date Reported:

Area:

42245

3/9/2007

IDE\Dialogs\Project Options

Description:

Steps:

[QC Short Description]
Build Events Memos are Too Small

[QC Description]
The Project, Options, Build Events Pre/Post command memos do not fill the available space and make this options page requite more scrolling than necessary.
QC Entry 42245

File, New VCL Forms Application for Win32
Look at the Project, Options, Build Events settings, note the empty space

{ See resolution comment - MD }

QC #:

Date Reported:

Area:

46714

5/28/2007

IDE\Dialogs\Project Options

Description:

Steps:

[QC Short Description]
Compile options lost/not saved when build configuration is changed.

[QC Description]
When you change the build configuration, some of the options are not saved and revert to default values.

In particular Linker Options/Image Base, Min Stack Size, Max Stack size And also Unit aliases on the Directories/Conditionals page.

These options should either be saved in the build configuration, or should not change/be reset when the build configuration is changed.
QC Entry 46714

Similar steps for unit aliases:

1. Open project options.
2. Delete Unit aliases
3. Press okay to save.
4. Ctrl-F11 to reopen project options.
5. Change build configuration from current (release) to debug
6. Notice that the unit aliases is now reset to the default
WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
7. Change build configuration back to prior entry - e.g release.

Exp: Unit aliases remains empty - as set.
Act: Unit aliases changes to the default for a new project

***FIXED in December update:***
1. Open the project in D2007.
2. Open the project options - goto the linker page.
3. Change Image base to $48000000
4. Press okay to save.
5. Ctrl-F11 to reopen project options.
5. Change build configuration to debug
7. Notice the image base is now reset to the default $00400000
8. Change build configuration back to prior entry - e.g release.

Exp: Image base remains as $4800000 as originally set
Act: Image base changed to $0040000 - (defaiult/new project value)
******

QC #:

Date Reported:

Area:

42975

3/21/2007

IDE\Dialogs\Project Options

Description:

Steps:

[QC Short Description]
Improve Delphi Win32 Project Options UI (allow dialog to resize or other UI changes)

[QC Description]
I've listed all of the options areas of the Delphi Project dialog that I consider more difficult to use because the UI seems cramped inside the existing smallish dialog. I believe an alternate UI for those areas of the settings, or allowing this dialog to resize would make this dialog more usable.

The first 3(*) items in the list would give a significant benefit if they rezsized or had an alternate UI, because I believe developers use them more frequently.

Project Options (Delphi Win32)
---------------------------------------------------
Significant Benefit (central portion could resize, less scrolling, etc.):
- Directories/Conditionals (all paths/combos)*
- Packages (package list)*
- Compiler Messages (message list)*
- Version Info (version info grid)
- Debugger (paths)
- Symbol Tables (module list)
- Environment Block (environment lists)
- Build Events (script memos)
- Forms (available forms)

Minor Benefit:
- Application (title, help file path)

Little/No Benefit:
- Compiler (build config name only)
- Linker (exe description + build config name only)

I'm happy to accept a better/alternate UI instead of resizing, if CodeGear can come up with one that performs the same function in less space, but resizing is the bet option I've imagined so far. QC 42245 is related, but specific to the build events.
QC Entry 42975

Start Delphi 2007 File, New Delphi Win32 Project Project Options Click around in the options tree and notice some ot the options screens seem cramped in the existing small dialog (see the list in the Description for details) I've attached screenshots of how this dialog looks once it is made resizable, and I think the results are nicer

QC #:

Date Reported:

Area:

40648

3/3/2007

IDE\Dialogs\Environment Options

Description:

Steps:

List Index out of bounds -1 received after you have deleted a path off and then click onto the white space left at the bottom of the dialog.

QC Entry 40648

+ Click Tools | Options | Library - Win32
+ Click the ... of either the Library or Browsing Path
+ Scroll to the bottom and delete an item off the list
+ Click in the white space below that was left over when the delete occurred.
//exp: no problems
//act:
---------------------------
Error
---------------------------
List index out of bounds (-1)
---------------------------
OK Details <<
---------------------------
[20B17ED4]{coreide100.bpl} OrderedListEditDialog.DirListDialog (Line 106, "OrderedListEditDialog.pas" + 41) + $15
[200FCDB5]{vcl100.bpl } StdCtrls.TListBoxStrings.Get (Line 4096, "StdCtrls.pas" + 6) + $19
[20B17ED4]{coreide100.bpl} OrderedListEditDialog.DirListDialog (Line 106, "OrderedListEditDialog.pas" + 41) + $15
[2013FAF4]{vcl100.bpl } Controls.TControl.Click (Line 5229, "Controls.pas" + 9) + $8
[200FE421]{vcl100.bpl } StdCtrls.TCustomListBox.CNCommand (Line 4808, "StdCtrls.pas" + 5) + $6
[2013F5EF]{vcl100.bpl } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
[201435CD]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7249, "Controls.pas" + 105) + $6
[200FE343]{vcl100.bpl } StdCtrls.TCustomListBox.WndProc (Line 4775, "StdCtrls.pas" + 43) + $6
[2013F27C]{vcl100.bpl } Controls.TControl.Perform (Line 5021, "Controls.pas" + 5) + $C
[2014371B]{vcl100.bpl } Controls.DoControlMsg (Line 7298, "Controls.pas" + 6) + $11
[2014412B]{vcl100.bpl } Controls.TWinControl.WMCommand (Line 7561, "Controls.pas" + 1) + $5
[2015B364]{vcl100.bpl } Forms.TCustomForm.WMCommand (Line 4863, "Forms.pas" + 3) + $4
[2013F5EF]{vcl100.bpl } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
[201436C7]{vcl100.bpl } Controls.TWinControl.DefaultHandler (Line 7279, "Controls.pas" + 23) + $17
[2013F5EF]{vcl100.bpl } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
[201435CD]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7249, "Controls.pas" + 105) + $6
[20D894FE]{designide100.bpl} DeskUtil.SetFocusHook (Line 435, "DeskUtil.pas" + 4) + $C
[20

QC #:

Date Reported:

Area:

41040

2/21/2007

IDE\Dialogs\Editor Options

Description:

Steps:

[QC Short Description]
Unselection of enhancement modules in Key Mappings not saved

[QC Description]
If I remove the check from "Buffer List" and restart Delphi the check will have returned when going back to this dialog. The same problem exists in BDE 2006, btw.
QC Entry 41040

1. Open Tools | Options 2. Select Editor Options | Key Mappings 3. Select IDE Classic as mapping module and de-select Buffer list from Enhancement modules 4. Close Delphi 5. Start Delphi 6. Open Tools | Options 7. Select Editor Options | Key Mappings 8. See that Buffer List is now selected again

QC #:

Date Reported:

Area:

40311

2/12/2007

IDE\Dialogs\Editor Options

Description:

Steps:

[QC Short Description]
Color options dialog defaults to HTML

[QC Description]
When opening the BDS Color Options dialog, there are 4 tabs: html, c#, c++, delphi.

However, BDS always opens with the leftmost tab open = html.
Since I'm busy testing Delphi color settings, I'm forced to reselect the Delphi tab every time I open the dialog to continue configuring the colors.

I suggest BDS remembers which tab was last open.
QC Entry 40311

==Updated==
1. Tools->Options->Editor Options->Colors
2. Click on the Delphi tab.
3. Close the options dialog.
4. Reopen the options dialog. See that the HTML tab is selected instead of the last used Delphi tab.
==Original==
1. Open BDS Color options dialog.
2. Click on the Delphi tab.
3. Close the opetions dialog.
4. Reopen the options dialog. See that the Htlm tab is selected instead of the last used Delphi tab.

QC #:

Date Reported:

Area:

55149

11/22/2007

IDE\Project Management

Description:

Steps:

[QC Short Description]
Using MSBuild to compile a .groupprj will compile first project only

[QC Description]
Using MSBuild to compile a project group will compile only the first project in the project group.

The only way to have other projects compiled is to set an explicit depencendy to the first project in the group.

This hinder me to use CCNet to automate build unless I manually configure it to compile each project (four services, two excutables, thirty-three DLLs, one resource only DLL, and four test applications).
QC Entry 55149

1) Create a project group containing some projects 2) Open RADStudio command prompt 3) Type MSBuild <group project name> Expected: the whole project group is compiled Actual: only the first project in the group is compiled.

QC #:

Date Reported:

Area:

20044

10/12/2005

IDE\Project Management

Description:

Steps:

[QC Short Description]
Easy option to disable together

[QC Description]
It would be really nice if you could go into the options and click on the together tab and just disable all that is together, there seems to be a few places you say "no" and it still does it..such as default vs project and project group.

"disable sublevels" seems to do the trick, but this is omitted from the documentation.. and applies only to the node you're in.
QC Entry 20044

Update from QA:
SOLUTION:
============
+ Tools | options | Together | Default | General
+ Automatically Enable Together support for new projects: set to False.

Alternative:
+ Right click on project name in project manager,
+ Select Together
+ Uncheck Togerther support
+ Click OK
NOTE: The model file isn't removed. It should be on unchecking this. This should be fixed. RAID 257673

QC #:

Date Reported:

Area:

40128

2/8/2007

IDE\Project Management\Project Manager

Description:

Steps:

[QC Short Description]
Project group does not handle inclusion of read-only files

QC Entry 40128

[also related: FR for marking RO -> RW: 245956]

Create new project group Add bunch of read-only .dpk packages Save project group //exp: A neatly saved project group //act: BDS refuses to continue before it can successfully write to the read-only .dpk files

QC #:

Date Reported:

Area:

33732

9/9/2006

IDE\Project Management\Project Manager

Description:

Steps:

[QC Short Description]
Ability to set options for multiple projects

[QC Description]
I would like to be able to select multiple projects in the project manager and change options for all selected at once. For example, adding a directory in the search path, or selecting compiler options. Much like we can select multiple components on a form and use the object inspector to change properties and events to all selected components at once.

The multiselect could also be applyed to the right-click popup menu for example to remove all selected projects from the project group.
QC Entry 33732

{ Named Option Sets solves this problem - MD }

QC #:

Date Reported:

Area:

51825

9/11/2007

IDE\Project Management\Project Manager

Description:

Steps:

[QC Short Description]
Catastrophic failure: the IDE fails when working with huge project group

[QC Description]
I have a project group containing all my third party components, it has 225 packages, run time and design time, ordered in a very precise way so that building all will not fail because of dependancies.

After I open this group in the lastest IDE build (however it never worked in the past for me) and *try* to Build all, the IDE fails, compiling first project in the group, with [DCC Error] Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))

After this failure the IDE is unstable and you can not close the group and open a single project or application, it will always give back the same failure.

Here's the complet output text:

Build started 9/11/2007 09:33:08.
__________________________________________________
Project "P:\LIBS\SOURCES\ZLIB123\ZLIB_D11.dproj" (Build target(s)):
Target CoreCompile:
c:\codegear\bds\5.0\bin\dcc32.exe -B -IR:\LIBS\11;c:\codegear\bds\5.0\lib;P:\LIBS\VCL11;P:\LIBS\RESOURCES -LER:\LIBS\RTL -LNR:\LIBS\11 -N0R:\LIBS\11 -NHR:\LIBS\11 -NOR:\LIBS\11 -OR:\LIBS\11;c:\codegear\bds\5.0\lib;P:\LIBS\VCL11;P:\LIBS\RESOURCES -RR:\LIBS\11;c:\codegear\bds\5.0\lib;P:\LIBS\VCL11;P:\LIBS\RESOURCES -UR:\LIBS\11;c:\codegear\bds\5.0\lib;P:\LIBS\VCL11;P:\LIBS\RESOURCES --no-config -$C- -$D- -$J+ -$L- -$V- -$Y- ZLIB_D11.dpk
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Borland.Delphi.Targets(113,3): error : Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
Done building target "CoreCompile" in project "ZLIB_D11.dproj" -- FAILED.
Done building project "ZLIB_D11.dproj" -- FAILED.
Build FAILED.
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Borland.Delphi.Targets(113,3): error : Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.57
QC Entry 51825

Unzip 101packages.zip, and open ProjectGroup2.groupproj.
Project | Build All.

>> Original Report
1. Create a really large project group. In my case, it fails when I have a group with probably more than 100-150 packages
2. Open the group in the IDE
3. Build All

Exp: the IDE builds all packages
Act: the IDE fails with error [DCC Error] Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))

My package group includes: 5 personal packages, a runtime dpk for ZLIB, a runtime with LanMan units, Virtualtrees, TeeChart, Decision Cube, DBISAM, ReportBuilder, Gnostice PDF, Indy, ExtraDEV, Abbrevia, Essence, Orpheus, ShellShock, SysTools, XMLPro, TNT, ODBCExpress, ProfGrid, FlashFiler, MSI, kbMem, MAX, TBX, TMS, Twain, LMD Tools, FastReprot, DevEx suite

All packages have custom settings for output paths (dcp, dcu, bpl); all are in "release" mode, i.e. no debugging.

Practically, I have an application that can generate .groupproj files for me, to build all from the IDE I would first generate a project group with half of the packages and another one with the other half.

I suppose this bug happens because of some limits in the IDE.
Please analyze the IDE code and publish these limits, if the problem can't be fixed, so at least people won't try this kind of stuff.

QC #:

Date Reported:

Area:

53236

10/9/2007

IDE\Project Management\Project Manager

Description:

Steps:

[QC Short Description]
"Save All" not enabled after changes made through the Build Configuration Manager

[QC Description]
the descritpion field says it all, anyway there are some steps
QC Entry 53236

1. Create a project group containing a bunch of projects (or open a project group if available) 2. In the Project Manager, right click on top node (that's the group node, not a project node) and select from the popupmenu Configuration Manger 3. Click Select All button 4. Change the configuration name from whatever it was to a different one. 5. Click Apply button 6. Click Close button exp: toolbar SaveAll button becomes enabled act: SaveAll not enabled Thus, if you click Close All now, you will not be asked to save anything and when you'll reopen this project group your selection made through the Configuration Manger is lost. BTW, now that I found this problem, it became very annoying, when I have work to do in a large project group :-)

QC #:

Date Reported:

Area:

20979

11/3/2005

IDE\Project Management\Project Manager

Description:

Steps:

[QC Short Description]
Project Readme option

[QC Description]
It would be *Perfect* if it were possible to attach a text/html file as a read me to a project, whether it's to remind of a todo list, client details, general help when making a project generally available etc.
QC Entry 20979

Have an additional project option that allows you to open a html/txt file when opening a project to display information important to remind you of details of maybe clients, build criteria, or just notes to hand to someone else once you've moved on.

UPDATE from QA:
Have a look at Project | Project Page Options. This allows you to create a file that will come up as a "Welcome Page" for that particular project. It supposed to be a .html but .txt should work.

QC #:

Date Reported:

Area:

46597

5/25/2007

IDE\Project Management\Project Manager

Description:

Steps:

[QC Short Description]
Expand/Colapse All in the project manager

[QC Description]
Adding Expand/Collapse all button in the project manager is a good idea.
QC Entry 46597

Add Expand/Colapse All in the project manager.

QC #:

Date Reported:

Area:

50605

9/30/2007

IDE\Project Management\Project Manager

Description:

Steps:

The IDE select the wrong project to open a unit included in several projects when a compilation error occurs.

This is specially annoying when you have a lot of projects with lots of units. For example, if the unit with syntax error is used in the first and last project, when you recompile the last project (having it active), you see the first project tree expanded and you don't see the last project tree because in is far away. This is very inefficent cecause usually you have to navigate into the active (and last here) project's files. This is a common situation (at least in the way I work with Delphi) and is really a nuisance.

When an error occur, the IDE should only search for units in the current project and open it from that context.

Currently the IDE open the unit in the context of the first project where the unit is found.

If the offending unit is not part of any of the projects, the IDE currently open it without touching the project manager tree which is fine.

1. Run RAD Studio
2. Close all
3. Create Win32.VCL forms project, save as Projet1 / Unit1
4. Save project group as ProjectGroup1
5. Add a new Win32.VCL forms project in the project group, save as Projet2 / Unit2
6. File / New / Unit into project2. Save it as Unit3
7. Add unit3 to Project1
8. Add Unit3 in the uses clause of unit1
9. Add Unit3 in the uses clause of unit2
10. Save all
11. Build all project. Shouldn't have any error :-)
13. Make Project2 the active project
12. Open unit3 in the code editor
13. Write any syntax error
14. Save All
15. Close All
16. In project manager, collapse project1 and project 2 tree.
17. In project manager, Project2 is still the current project (because of step 12). Right click and build project.
=> The compiler hit the syntax error introduced in step 13 and open Unit3 and show unit3 as part of project1 whose tree is expanded.
Expected: Open unit3 as part of project 2.
See screen dump.

QC #:

Date Reported:

Area:

22034

12/7/2005

IDE\Project Management\Project Manager

Description:

Steps:

[QC Short Description]
Can't drag and drop files from Winzip onto editor

[QC Description]
This has stopped working in recent builds - it used to work!
QC Entry 22034

[borland.private.fieldtest.dexter.ide]
[QC22034 - can't drop files from winzip to editor]

Open a zip file that contains pascal or C++ source files. Try to drag them from winzip into Dexter IDE. The IDE won't allow them to be dropped. Used to work in all IDEs prior to BDS 2006

QC #:

Date Reported:

Area:

51288

8/29/2007

IDE\Project Management\Project Source

Description:

Steps:

[QC Short Description]
Build configuration incompatible with packages

[QC Description]
When you create a package, compiler switches, conditional defines and more are coded into the .dpk file.
These switches are replaced if you switch Build Configuration from the Project | Options dialog, but not if you swicth Build Configuration from the Build Configuration manager.

These switches does not belong in the .dpk file at all. Because if you select the Debug Build configuration from within the IDE and build the Release Build configuration from the command line using msbuild, the .dpk file still contains the switches from the Debug Build configuration.
It seems the settings from the .dpk file superseeds the command-line switches.
QC Entry 51288

Create a Package, view the source. Go to Project | Options | Compiler and select Release Build Configuration. Press OK and watch package source. The line {$DEFINE RELEASE} is added. If you switch back to Debug, the $DEFINE is deleted. If you switch Build configuration through Project | Configuration Manager the package source is not modified. The co

QC #:

Date Reported:

Area:

29097

5/15/2006

IDE\Code Editor

Description:

Steps:

[STRING CORRUPTION]

[DATA LOSS!]

[QC Short Description]
German "Umlaute" get crunched

[QC Description]
When I type in German Umlaute (������) in a pascal unit, switch back and forth to the text view of the corresponding dfm file, all the Umlaute get crunched.

// report edited by Holger Flick 07-04-21

QC Entry 29097

WORKAROUND: enter the umlauted string into the Caption property in the OBject Inspector. it works fine.

- Start Delphi - Create a new project [ using File / New / VCL App ] - Add a unit, which implies a dfm file - Switch to the text view of the dfm file - Type in the German Umlaute " " for the caption of the form - Switch to the original view of the dfm file - Look at your Umlaute exp: caption shows umlaute act: caption shows corrupted text

QC #:

Date Reported:

Area:

51977

9/13/2007

IDE\Code Editor

Description:

Steps:

[QC Short Description]
Open File at Cursor not working after openning project

[QC Description]
After openning a Project, the first time you use Ctrl+Enter to open file at cursor, it doesn t open the file, but shows the File Open Dialog.

After selecting the file, the IDE opens it, and Ctrl+Enter works well the next time it s used
QC Entry 51977

// New steps
1. Unzip attached project into a new folder such as "c:\test" (Any new folder will do actually)
You get a win32.VCL.Forms project in c:\test\main which uses two units stored in "c:\test\units".
2. Run RAD Studio 2007 (If it matters, I'm using undocked layout with not-embedded VCL form designer)
3. File / Open project / Browse to c:\Test\Main\Project1.dproj
4. Compile and run the project. It should work as is.
5. Select welcome page, right click to close all other pages
6. File / Close all
7. File / Open project / Browse to c:\Test\Main\Project1.dproj (Do /not/ open project from recent files !)
8. In project manager, double click on UnitMain to see in in code editor
9. In the uses clause, put cursor on "UnitUtils" and type ctrl+enter
=> You have a file open dialog box to search for UnitUtils
Expected: The IDE should find the unit since it is locatable from the project search path (remeber step 4 where it perfectly compile)
=> The file type in the dialog box is "*.grouproj"
Expected: The file type should be "*.pas"
10. In the open file dialog box, go to parent folder, then down to "Units" folder and double click on "UnitUtils.pas"
The unit is correctly shown
11. Select "UnitMain" tab in the code editor
12. In the uses clause, put cursor on "UnitFct" and type ctrl+enter
=> This time the IDE find the unit correctly

Where are the bugs ? (Yes, there are TWO bugs)
1) The first bug is that the IDE doesn't search the search path in the project options and can't find the units the compiler easily find
2) The second bug is that the selected file type in the open file dialog box is "*.groupproj" instead of "*.pas"


// Original steps from QC
Select File - Open Project
Select a project to open
Place cursor above a Unit name (in the Uses clause) in an open Source File
Press Ctrl+Enter or Right click - Open File at cursor
The Open File Dialog appears instead of oppening the file

(After selecting a file and repeating the steps, it works well)

QC #:

Date Reported:

Area:

24528

2/5/2006

IDE\Code Editor

Description:

Steps:

[QC Short Description]
Binary DFM opened in text mode cause IDE to ask for reloading file

[QC Description]
If you drag&drop a binary .dfm file to the Code Editor and then switch to another program and back to BDS, the IDE asks for reloading the dfm. This can be repeated as long as the file was not switched to design mode (Alt+F12). After being in design mode you can switch back to text mode and this bug doesn't appear anymore for this file.

This does not happen with text dfm files.
QC Entry 24528

1. Create a new VCL project 2. Right click on the form and uncheck the "Text-DFM" menu item. 3. Save the project and close the form. 4. Start the Window Explorer and drag&drop the .dfm file to the BDS Welcome Page. 5. Switch back to the Windows Explorer 6. Switch to BDS. Expected: Nothing happens (except that BDS is in foreground) Actually: The IDE asks for reloading the dfm.

QC #:

Date Reported:

Area:

10711

1/31/2005

IDE\Code Editor

Description:

Steps:

[QC Short Description]
Editor's bug

[QC Description]
I am using the Japanese version.
If Japanese is used on an editor, the position of a tab may shift.

Expected display state
> ' '> > ;
> '?'> > ;

Actual display state
> ' '> > ;
> '?'> > ;

* '>' is a tab character.
* Tab size is 4.

The display of the 2nd line shifts. Immediate correction is desired.
QC Entry 10711

[Web Update Candidate]

Dup.
171154
179467
211788
219402
224514
227994
229042
232136
226994
230319
240352

QC #:

Date Reported:

Area:

35440

10/18/2006

IDE\Code Editor

Description:

Steps:


[QC Short Description]
Selection behaviour inconsistent with Optimal Fill and Use Tab Character

[QC Description]
When the editor options "Optimal fill" and "Use tab character" are both enabled, the line selection behaviour becomes inconsistent.

This causes me a great deal of grief since it is inconsistent with the standard behaviour and there is no "work-around" other than repositioning the cursor every time.

I think the "Use tab..." and "Optimal fill" options are important for well-formatted code.

I know that the tabs weren't handled well in the past but surely this was not intended?
QC Entry 35440

1. Enable both "Use tab character" and "Optimal fill" 2. Add some code, indented 3. Press the Home key. 4. Hold Shift key and press Down Arrow key to select line. 5. Notice that the selection start point is the first not whitespace character, not the start of the line. 6. Disable one or both of "User tab character" and "Optimal fill" 7. Repeat steps 2 through 4. 8. Notice the selection start point is the beginning of the line.

QC #:

Date Reported:

Area:

26111

3/15/2006

IDE\Code Editor

Description:

Steps:

[QC Short Description]
Preserve line ends does not work as expected

[QC Description]
When I turn off the option "Preserve line ends" in the editor options, I would expect Delphi to remove any trailing spaces the next time I save the file, but this does not happen.
QC Entry 26111

1. Create a file with several lines of text with trailing spaces (e.g. using notepad). 2. Load it into Delphi 3. Make sure the Editor option "preserver line ends" is turned off 4. Save the file 5. Open the file in notepad and check, whether the trailing spaces are gone (they are not)

QC #:

Date Reported:

Area:

51062

8/25/2007

IDE\Code Editor

Description:

Steps:

[QC Short Description]
Trailing spaces aren't removed when saving

[QC Description]
When saving a file, the trailing spaces of the current selected line aren't removed (TrimRight) even if the editor option "Keep trailing spaces" is disabled.

This trailing spaces have an impact on version control systems like SubVersion. It causes files to be commited even if there were no actual changes.
QC Entry 51062

1. Create a new VCL Application 2. Confirm that the editor option "Keep trailing spaces" is disabled 3. Append some spaces to the "unit Unit1;" (without pressing ENTER) 4. Save the file. 5. Start notepad.exe and open the file 6. Press the [END]-key Expected: The caret is behind the ';' char Actual: The caret is behind the last space that was added.

QC #:

Date Reported:

Area:

54027

10/26/2007

IDE\Code Editor

Description:

Steps:

[QC Short Description]
Code insight doesn't show protected methods in class declaration

[QC Description]
If the caret is in the class declaration and you press Ctrl+Space, the code insight list will not show any inherited method that is protected and almost all public methods aren't shown either.
QC Entry 54027


// Francois Piette
I see it in 2854.9859.1.
I don't understand what include the list shown in the popup !

// Francois Piette
Still see it in 11.0.2902.10471.33 (feb upd) see attached screen dump.

1. Create a new VCL Application 2. Move the caret into the "public" section of the form class 3. Press Ctrl+Space 4. Try to select the "Notification" method. Expected: The Notification method is in the list and pressing ENTER will add the override to the class declaration Actual: The Notification method isn't in the list.

QC #:

Date Reported:

Area:

47905

6/21/2007

IDE\Code Editor

Description:

Steps:

[QC Short Description]
Space button does clear selected text conistently

[QC Description]
When you have text selected and you click the space bar it should remove the text and replace it with a space (as is standard elsewhere in Windows).

About 70% of the time I have a selection and click the space in Delphi nothing happens (the text remains and the space click ignored).

Is this supposed to be a feature???
QC Entry 47905

As you are typing use the cursors to select a few lines of text then click the Space button.

Expected result: The selected text is cleared and replaced by a space

Actual result: Nothing happens

- New unit, replace the code with the following:

unit Unit3;

interface

uses
Classes;

type
TFoo = class
FWindowHandle: HWND;
procedure Start;
end;

implementation

{ TFoo }

procedure TFoo.Start;
begin
FWindowHandle := AllocateHWnd(WndProc);
end;

end.

- Place cursor at beginning of line 11
- Shift-Down twice to select lines 11 and 12.
- Press Space.

It seems to be significant to use the keyboard to select the code, not the mouse.

QC #:

Date Reported:

Area:

53440

10/14/2007

IDE\Code Editor

Description:

Steps:

[QC Short Description]
Code editor has missing translation for 'declarations'

[QC Description]
Code editor has missing translation.
'declarations' were shown in Japanese in Delphi6.
Please see attached screenshot.
QC Entry 53440

1. Preparation of form 2. See code editor 'type'

QC #:

Date Reported:

Area:

54847

11/14/2007

IDE\Code Editor\Sync Edit

Description:

Steps:

[QC Short Description]
Overwrite/overtype mode overwrites only one letter

[QC Description]
When using syncedit and writing in overwrite mode (oposite of insert mode) it is not possible to overwrite selected text.
QC Entry 54847

a) 1. press insert (to turn on the overwrite mode) 2. type if 3. press spacebar to invoke template 4. note that 'True' is selected 4. type 'test' 5. 'True' is deleted and only 't' is typed and it is not possible to type further. b) 1. type text: Procedure TObject.MyFunctionA(AParam: integer) Procedure TObject.MyFunctionB(AParam: integer) 2. turn on the overwrite mode (by pressing ins) 3. select both lines 4. invoke sync-edit ctrl+shit+j or click icon 5. first 'TObject' is selected 6. type anything - 'TObject' is deleted and only first letter is typed 7. press backspace 8. now backspace and typing does nothing

QC #:

Date Reported:

Area:

27033

4/5/2006

IDE\Code Editor\Error Insight

Description:

Steps:

[QC Short Description]
Error Insight wrongly flags "=" after "in" operation as error

[QC Description]
See Steps.
QC Entry 27033

Paste this code: procedure TForm1.FormCreate(Sender: TObject); begin if biSystemMenu in BorderIcons = False then Beep; end; The code compiles OK, but the "=" operator gets underlined in red. If parentheses are added around the "in" operation: if (biSystemMenu in BorderIcons) = False then then the underline goes away. But they shouldn't be needed.

QC #:

Date Reported:

Area:

26959

4/4/2006

IDE\Code Editor\Error Insight

Description:

Steps:

[QC Short Description]
ErrorInsight doesn't recognize enumeration members declared in a class

[QC Description]
From time to time I see red underlined strings in my code.
In Structure view I see description of the error.

BUT code can be compiled without any compile errors.

QC Entry 26959

See this code program Project1; {$APPTYPE CONSOLE} uses SysUtils, Dialogs; type TOuterClass = class private type TInnerClass = class private type TEnum = (eOne, eTwo); private fEnum: TEnum; public property Enum: TEnum read fEnum; end; public constructor Create(); end; constructor TOuterClass.Create(); var IC: TInnerClass; begin IC := TInnerClass.Create(); if IC.Enum = eOne (*THERE IS RED UNDERLINE*) then begin ShowMessage('1'); end; end; begin end. You can compile it without any errors. But "eOne" is red underlined. This is caused by the fact the TEnum is declared privately in the class. If you move it out of the class to a global type, ErrorInsight stops complaining. ErrorInsight doesn't recognize enumeration members declared in a class

QC #:

Date Reported:

Area:

46713

5/28/2007

IDE\Code Editor\Error Insight

Description:

Steps:

[QC Short Description]
Error insight gives incorrect error on correct code.

[QC Description]
Does not appear to like namespace/unit prefixes on identifiers.

In a real unit - it does not recover 100% from this error and then reports several other errors incorrectly in my case reports about 10 other errors. If i remove the "Windows" namespace prefix, then no errors are reported by error insight.
QC Entry 46713

1. Create a new console application. 2. Replace with the code given below. 3. Look at the errors reported by error insight - it complains about "Windows.user32" - and underlines ".user32" in red - which is incorrect. This code is fine and compiles/runs. program Project1; {$APPTYPE CONSOLE} uses SysUtils, Windows; function MsgWaitForMultipleObjectsEx(nCount: DWORD; pHandles: Pointer; dwMilliseconds, dwWakeMask, dwFlags: DWORD): DWORD; stdcall; external Windows.user32 name 'MsgWaitForMultipleObjectsEx'; begin try { TODO -oUser -cConsole Main : Insert code here } except on E:Exception do Writeln(E.Classname, ': ', E.Message); end; end.

QC #:

Date Reported:

Area:

51446

9/2/2007

IDE\Code Editor\Help Insight

Description:

Steps:

[QC Short Description]
Generics - Code insight window flashes repeatedly

[QC Description]
Code insight window flashes repeatedly and CPU usage goes to 100% if the mouse hovers above one of the concrete class declaration type parameters, that relates to a Generic class declaration.

QC Entry 51446

//see also 253573

Open a new VCL for .NET project, and paste the following under the "type" clause in the main form .pas file. //---------------------------------------------------- TPair<TKey,TValue> = class // declares TPair type with two type parameters private FKey: TKey; FValue: TValue; public function GetKey: TKey; procedure SetKey(Key: TKey); function GetValue: TValue; procedure SetValue(Value: TValue); property Key: TKey read GetKey write SetKey; property Value: TValue read GetValue write SetValue; end; TSIPair = TPair<String,Integer>; // declares instantiated type TSSPair = TPair<String,String>; // declares with other data types TISPair = TPair<Integer,String>; TIIPair = TPair<Integer,Integer>; //---------------------------------------------------- Code insight window flashes repeatedly and CPU usage goes to 100% if the mouse hovers above one of the concrete class declaration type parameters. eg. the "Integer" parameter in "TISPair = TPair<Integer,String>;"

QC #:

Date Reported:

Area:

43564

3/31/2007

IDE\Tool Palette

Description:

Steps:

[QC Short Description]
Option for disabling Hints on Tool Palette

[QC Description]
It would be nice if the Hints on Tools palette could be disabled as it was in Delphi6&7 (see Show hints check on the context menu of Component Palette)

In D2006 and D2007 when you expand a category, or just stop a while with the mouse, the Hint pops up, and does not want to disappear until you move out the cursor from Tool Palette.
The Hint window disturbs me traversing the set of icons, and annoys me constantly.
QC Entry 43564

QC #:

Date Reported:

Area:

11042

2/21/2005

IDE\Tool Palette

Description:

Steps:

[QC Short Description]
Adding a component when filtered resets all categories to be expanded

[QC Description]
When you enter in a filter string to filter the Tool Palette. Then select a component and drop the component on a form. The tool palette is reset and instead of the Tool Palette returning to it's previous state (expanded and collapsed categories), all categories are expanded.
QC Entry 11042

1. New VCL.NET Application 2. Click on Tool Palette 3. Right click and select the Collapse All context menu item 4. Type in d 5. Select a component that is listed (TDrawGrid for example) 6. Drop component on the form exp: Tool Palette categories are now all collapsed act: Tool Palette categories are now expanded and collapsed (perhaps from the previous saved state and not the state before the filter occurred). This appears to only happen incorrectly the first time or if you collapse all categories prior to applying the filter. If you expand all categories prior to filtering, once the component is dropped - all categories are expanded as expected.

QC #:

Date Reported:

Area:

37381

12/6/2006

IDE\Tool Palette

Description:

Steps:

[QC Short Description]
Filter is cleared when Shift+Doubleclicking the Tool Palette

[QC Description]
Using Shift+Doubleclicking allows dropping several controls at once on the form. This works fine when the Tool Palette is *not* filtered. If it is filtered however, the filter is cleared which it shouldn't.
QC Entry 37381

1. New VCL Delphi project 2. Shift+Double click on TLabel for example and observe that the TLabel tool palette item gets an extra border and you can drop more components (even using cursor keys and enter) 3. Press Ctrl+Alt+P and filter with "Button" 4. Shift+Double-click TButton exp: filter should remain active, so you could navigate to TButtonGroup and press Enter to drop a button group act: filter is cleared

QC #:

Date Reported:

Area:

42758

3/18/2007

IDE\Tool Palette

Description:

Steps:

[QC Short Description]
IDE Lock up when reordering items in Tools Palette

[QC Description]
When repositioning items in the Tools Palette, the IDE can lock up and has to be closed. Windows reports a Program is not Responding error.

The problem only occurs when the computer has been running for over 25 days (including hibernation).

The problem can be found in CategoryButtons.pas, line 2044:
and ButtonGroup, line 1163:

CurrentTime, StartTime, ElapsedTime: Longint;

These should be declared as DWORD. (See Forms.pas line 2052).
CurrentTime, StartTime, ElapsedTime: DWORD;

If the computer has been running for over 25 days Elapsed time will be negative. What you will get is a huge value for the sleep command:
Sleep(Delay - ElapsedTime);
QC Entry 42758

1. Let the computer run for at least 25 days including hibernation 2. Start repositioning items in the Tools Palette exp: reordering should work fine act: IDE seems to hang because of a call to Sleep with a huge number of ms

QC #:

Date Reported:

Area:

33286

8/30/2006

IDE\Tool Palette

Description:

Steps:

[QC Short Description]
Give the categories the same or at least a distinct color when they are highlighted with the keyboard

[QC Description]
The fix for QC#26227 now allows keyboard navigation to the category group headers as well. As it is in the current build of Highlander, the foreground or background color does not actually change when focus lands on these items. JAWS cannot track the highlight in this case.
QC Entry 33286

1. Start Highlander. 2. If you have the "Show project wizards" option enabled, simply press Conrol+Alt+P now to go to the tool palette. If you have this unchecked, create, for example, a Delphi Win32 Forms app, or any app that can receive components from the tool palette. 3. Arrow up and down. Notice that for each wizard/component, a distinct combination of foreground and background colors is assigned. Notice that, however, when you land on one category header, that item is not given a unique combination of foreground and background colors. The colors stay the same regardless of whether keyboard focus is on the item or an item below it. Suggested resolution: Give the category button the same, or at least a distinct foreground or background color to allow JAWS to identify it when it has keyboard focus. A slightly different shade of grey for the background would be great.

QC #:

Date Reported:

Area:

32952

8/21/2006

IDE\Tool Palette

Description:

Steps:

[QC Short Description]
Fast clicking on different tool items invokes double click

[QC Description]
The Tool Palette doesn't distinguish between double clicking on one item and fast clicking on two different items.
QC Entry 32952

1. Start BDS 2006 2. Create a new VCL Win32 Application 3. Click in the Tool Palette on one item of your choice and then fast (in the DblClick-Time) on another item. Expected: The second item is selected and nothing else happens Actual: The second item thinks it was double clicked and adds the component to the form.

QC #:

Date Reported:

Area:

41851

3/5/2007

IDE\Tool Palette

Description:

Steps:

[QC Short Description]
Tool Palette: Left Arrow does not focus parent node

[QC Description]
The new treeview organization of the Tool Palette doesn't handle the Left Arrow Key correctly.
Instead of setting focus on the parent node, the left arrow key focuses the Previous Sibling.
QC Entry 41851

Open a node and select an item in the list (not the first one though). Press the Left Arrow-key on the keyboard. The focus isn't moved to the Parent Node, but to the previous sibling.

QC #:

Date Reported:

Area:

56387

12/26/2007

IDE\Tool Palette

Description:

Steps:

[QC Short Description]
The choosen category should be on the top of the list

[QC Description]
Hi,

When one chooses a category from the drop-down menu which appears when we press on the 1st button on the tool palette, the choosen category is, in deed, made visible but it's on the bottom of the list, so one must scroll in order to see all the components. Of course, this is happening when the category is hidden and is close to the end of category list.
QC Entry 56387


SEE ALSO 214362

1. Open the drop-down menu with categories from the 1st button of tool palette 2. Choose a category near to the end of the category list (make sure that the tool palette is somewhere at the beginning so the choosen category is hidden). Result: The choosen category is indeed made visible but is the last line on the tool palette, so the components from that category are hidden. Expected: The choosen category to be made visible at the top of the list, so the category's content (the components) to be fully visible.

QC #:

Date Reported:

Area:

41756

3/3/2007

IDE\Tool Palette

Description:

Steps:

[QC Short Description]
Option Vertical category captions repeated twice

[QC Description]
Option Vertical Category captions in Environment Options is repeated twice.
QC Entry 41756

1. Start Spacely 2. go to Option Vertical Category captions using Tools/Options, Environment Options|Tool Palette; 3. it is repeated in Envirnment Options|Tool Palette|Color. Both options change at the same time and reflect the same value exp: only one widget for the option act: there are two

QC #:

Date Reported:

Area:

28017

4/25/2006

IDE\Object Inspector

Description:

Steps:

[QC Short Description]
Have drop downs in OI show at least 20 items

[QC Description]
Since Delphi 1, the drop downs inside the OI have shown 8 items. With my amazing new IBM laptop at the
time, I could view 800x600!

Fast forward to today, with screens of 1920x1200 and beyond, and what a frustration to be stuck with that
8 item limit!

If the drop down count cannot be made larger for everyone, then at least provide a preference where a user
can change it.

I beg, plead, humbly ask that this feature be implemented.

Thank you, gracias, vielen dank, baie dankie, merci beau coup, spasibo, gracie, dzienkuje, hvala,
koszonom, arigato, shukriya, etc.
QC Entry 28017

QC #:

Date Reported:

Area:

24958

2/15/2006

IDE\Object Inspector

Description:

Steps:

[QC Short Description]
Center Divider Line Shifts to Far Left

[QC Description]
Using Embedded Designer, Object Inspector docked to far left, always showing; Tool Palette docked on left side, just to the right of the Object Inspector; and Project Manager docked to far right side.

The code editor/designer sits between the Tool Palette and the Project Manager.

When I run my Win32 app, the debug desktop takes over, which is really cool and well thought out. However, when I close my program, my desktop comes back and the divider in the Object Inspector (that separates the Properties from their Values) -- is moved to the extreme left side. I then have to move it back to the approximate middle to make it usable again.

Granted, this is a minor problem, but it sure is annoying, and it really does affect my productivity.
QC Entry 24958

see description the divider does not shift. When I run my app, then close it to immediately go back to design mode, it stays in place. But when I have a break point, or encounter an error while running my app in the IDE, it happens.

QC #:

Date Reported:

Area:

49922

8/1/2007

IDE\Object Inspector

Description:

Steps:

[QC Short Description]
Object inspector jumps to wrong property while typing

[QC Description]
While editing the caption property of a checkbox, the focus jumps to the caption property of the associated action when the action subtree is expanded. This only occurs when the object inspector is in "order ba name" mode.
QC Entry 49922

- start Highlander - create VCL Form application (Win32 or .NET) - place a checkbox on the form - place an action list on the form - add a new action to the action list - connect the action to the checkbox - select object inspector "order by name" - expand the action subtree of the checkbox in object inspector - select the caption property of the checkbox - type a character (e.g. "T") exp: focus stays at caption property of checkbox act: focus moves to caption property of action

QC #:

Date Reported:

Area:

43816

4/4/2007

IDE\File Handling

Description:

Steps:

[QC Short Description]
Ctrl+Enter fails to open files in projects search path

[QC Description]
Ctrl+Enter doesn't search for files in the project options' search path. See Steps.

[Regression]: this used to work in BDS2006
QC Entry 43816

1. Start IDE and create new VCL Forms project 2. Invoke Project Options dialog (Ctrl+Shift+F11) 3. On the directories/conditions page add "$(BDS)\source\Win32\Samples\Source" to the search path 4. In the code of unit1.pas, add Calendar to the uses clause 5. press Ctrl+Enter while the cursor is on "Calendar" exp: IDE should open the file Calendar.pas from the Samples\Source directory which we added to the project's search path act: file open dialog is shown since the IDE couldn't find the file

QC #:

Date Reported:

Area:

41659

3/2/2007

IDE\Toolbars/Status Line

Description:

Steps:

[QC Short Description]
Some buttons flicker and cause excessive CPU usage

[QC Description]
If you customize your toolbars to include a Project default options button, it is disabled (which it should not be) and flickers constantly when no project is open, and CPU usage rises to 99%.

If you customize your toolbars to include a File | Use unit button, it flickers constantly when viewing the project source, and CPU usage rises to 99%.
QC Entry 41659

Open Windows Task manager File |Close all Right click on the toolbars and select Customize Find the Commands | Project | Default options... button and drag it to a toolbar Find the Commands| File | Use unit button and drag it to a toolbar Click on the Close button // Exp: the project default options button will be enabled on the toolbar // Act: it is disabled and flickering Notice that CPU usage for bds.exe is and stays high (usually 99%) File | New | VCL forms application - Delphi for Win32 The Default options button disappears Wait a few seconds and notice that CPU usage for bds.exe drops Project | View source // Exp: the Use unit button will be disabled on the toolbar // Act: it is flickers, and CPU usage for bds.exe goes back up to 99%

QC #:

Date Reported:

Area:

42320

3/11/2007

IDE\Open Tools API

Description:

Steps:

[QC Short Description]
SplashScreenServices.AddProductBitmap does nothing

[QC Description]
Calling SplashScreenServices.AddProductBitmap does nothing whereas SplashScreenServices.AddPluginBitmap adds an entry in the splash screen as expected.

QC Entry 42320

1 open attached package 2 compile and install it 3 close the IDE and restart it exp: an entry in the splash screen act: nothing 5 reopen package 6 comment line 15 and activate line 18 7 compile and install the package 8 restart the IDE exp and act: an entry in the splash screen

QC #:

Date Reported:

Area:

43952

4/6/2007

IDE\Open Tools API

Description:

Steps:

[QC Short Description]
Several Aboutbox issues related to Addons (IOTAAboutBoxServices.AddProductInfo)

[QC Description]
There are several issues in the Aboutbox which are related to Addons. These issues seams to be related to IOTAAboutBoxServices.AddProductInfo.

First Issue:
With an installed addon (package or DLL wizard) the product name in the caption, top label, the "Product Information:" of the Aboutbox and the centurion helmet image in the Aboutbox does change. Even the menu entry for the Aboutbox is different.
(see page 1 and 2 in the QC_43952_OTA_Aboutbox.PDF in 43952.ZIP in the attachment)

Second Issue:
The long name for the JCL in the "Product Information:" of "CodeGear Quality Insite(tm)" in the Aboutbox in the german version is "JEDI Component Library" and not "JEDI Code Library" as it should be.
(see page 3 in the QC_43952_OTA_Aboutbox.PDF in 43952.ZIP in the attachment)

Third Issue:
The licence status label in the Aboutbox stays red after a product with a red label (an unregistered product) was selected.
(see page 4 in the QC_43952_OTA_Aboutbox.PDF in 43952.ZIP in the attachment)
QC Entry 43952


[USchuster 2008/06/22]
The second and third issue are still solved.

Open is the first issue.
Since April 2007 the JCL, JVCL and JVCS do use AddPluginInfo instead of AddProductInfo. You should consider adding a further comment to AddProductInfo that only personalities should
use it.

First Issue:
- start Delphi 2007 for Win32 (or start RAD Studio 2007 with -pDelphi)
- compile and install the package QC43952Package.dpk from QC43952.ZIP
- open the Aboutbox

expected: ...Delphi... in the caption and labels
actual: ...RAD Studio... in the caption and labels

Second Issue: (meanwhile solved [between Delphi 2007 Update 1 and Delphi 2007 December 2007 Update])
- open the Aboutbox in the german version
- select the "CodeGear Quality Insite(tm)" entry

Third Issue: (meanwhile solved [between Delphi 2007 Update 1 and Delphi 2007 December 2007 Update])
- reinstall Delphi and do *not* register it (installing a wizard which calls IOTAAboutBoxServices.AddProductInfo with AIsUnRegistered = True might be an alternative option)
- open the Aboutbox
- select a registered product
- select a not registered product
- select again a registered product

QC #:

Date Reported:

Area:

41817

3/4/2007

IDE\Open Tools API

Description:

Steps:

[QC Short Description]
Support accessing compiler build configurations (Debug, Release, etc.) using the OTA

[QC Description]
Please add an interface for accessing the compiler build configurations (Debug, Release, etc.).

What I would find useful would be to be able to retrieve the defined build configurations so I could build an add-in that adds them to a menu or combobox for easier access. The menu or dropbox would then be used to select a configuration and set it as the active one for the current project.

The following would be needed from the interface:

- Get a list of the defined build configurations
- Get the name of the active build configuration
- Set a build configuration as the active one for a project
QC Entry 41817

QC #:

Date Reported:

Area:

24513

2/4/2006

IDE\Open Tools API

Description:

Steps:

[QC Short Description]
IOTAFormEditor.Modified returns True for opened forms

[QC Description]
If you open an existing Delphi or C++ VCL project, the IOTAFormEditor.Modified property returns True even if you have not changed anything on the form. The SaveAll tool button and menu item are disabled, indicating that nothing is modified. After changing something and saving, the modified flag turns to False as it should be after opening a .dfm file.

SYSOP:
I've changed the Severity/Type of this report because for Open Tools developers and VCS addins this is a pretty big issue.
QC Entry 24513

[occurs in Nov 2007 patch]

1. Compile and install the attached designtime package (build.bat) 2. Start BDS 2006 3. Open an exising VCL application 4. Look at the "Modified files" tool form Expected: All files are not modified. Actually: The .dfm files are all modified.

QC #:

Date Reported:

Area:

26425

3/23/2006

IDE\Open Tools API

Description:

Steps:

[QC Short Description]
Error Msg after IOTACodeInsightServices.SetQueryContext(nil, nil)

[QC Description]
Some IDE expert like GExpert or CnWizard report this problem in source code, but as I didn't find any QC report I write one.

Every time after call of IOTACodeInsightServices.SetQueryContext with nil parameters there is an error message. This works fine in D7 or D2005.

Is there any workaround to reset Query Context without a call to SetQueryContext(nil,nil) ?
QC Entry 26425

Open the attached test case and compile into a design package and install it into the IDE Open any project Help, Text Expert Try to execute code completion in the editor (Ctrl+Space) Result: --------------------------- Error --------------------------- Access violation at address 209BF1EF in module 'coreide100.bpl'. Read of address 00000000. --------------------------- OK Details >> --------------------------- [209BF1EF]{coreide100.bpl} CodCmplt.TCodeCompletionManager.Invoke (Line 816, "CodCmplt.pas" + 34) + $17 [209BF26D]{coreide100.bpl} CodCmplt.TCodeCompletionManager.Invoke (Line 831, "CodCmplt.pas" + 49) + $10 [209AD44D]{coreide100.bpl} EditorControl.TCustomEditControl.CodeCompletion (Line 1807, "EditorControl.pas" + 2) + $E [209AD78D]{coreide100.bpl} EditorControl.TCustomEditControl.CMControlCommand (Line 1884, "EditorControl.pas" + 13) + $6 [209B8262]{coreide100.bpl} EditorControl.TEditControl.CMControlCommand (Line 7319, "EditorControl.pas" + 14) + $0 [2013C527]{vcl100.bpl } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6 [2132827C]{vclactnband100.bpl} ActnMenus.CallWndHook (Line 703, "ActnMenus.pas" + 12) + $F [201406A7]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6 [2003203C]{rtl100.bpl } Classes.TThreadList.UnlockList (Line 3359, "common\Classes.pas" + 0) + $4 [200EBAA8]{vcl100.bpl } Graphics.FreeMemoryContexts (Line 5060, "Graphics.pas" + 12) + $5 [2013FDD0]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6 [2013FDE5]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7076, "Controls.pas" + 6) + $0 [20040E4C]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0 [201406A7]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6 [0B24D985]{cxLibraryD11.bpl} Cxcontainer.TcxCustomInnerListBox.CNDrawItem + $695 [2013FDD0]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6 [20040E4C]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0 [20137642]{vcl100.bpl } Controls.FindControl (Line 2104, "Controls.pas" + 6) + $9 [201625E8]{vcl100.bpl } Forms.TApplication.ProcessMessage (Line 8103, "Forms.pas" + 21) + $1 [2016262A]{vcl100.bpl } Forms.TApplication.HandleMessage (Line 8124, "Forms.pas" + 1) + $4 [2016291F]{vcl100.bpl } Forms.TApplication.Run (Line 8223, "Forms.pas" + 20) + $3 [0042297A]{bds.exe } bds.bds (Line 195, "" + 7) + $7

QC #:

Date Reported:

Area:

47442

6/12/2007

IDE\Message View

Description:

Steps:

[QC Short Description]
Slower compilation with "Verbosity = Normal" (and Much Faster with Hints Disabled)

[QC Description]
For some reason with Tools -> Options -> Environment Options -> Verbosity
set to "Normal" or "Minimal" compilation is much slower than when it is set
to "Quiet", "Detailed" or "Diagnostic".

We have an application that is just over 1 million lines long that generates
539 hints and 153 warnings when built (don't ask!). With Verbosity set to
"Detailed" it builds in 23 seconds, but with Verbosity set to "Normal" (the
default setting) it takes 82 seconds!

It appears that the problem is related to the processing of hint and warning
messages. Attached is an example that illustrates the problem.
QC Entry 47442

Steps: 1) Open the attached console application in D2007 2) Set Tools -> Options -> Environment Options -> Verbosity to "Normal" 3) Perform a Project -> Build Expected: Fast compilation Actual: The warning messages are generated very slowly and the compilation takes quite long for such a small file 4) Set Tools -> Options -> Environment Options -> Verbosity to "Detailed" 5) Perform a Project -> Build Expected: Fast compilation Actual: Much faster compilation than in step 3 (but still not as fast as earlier Delphi versions) Turning off hint generation under the project options, compiler node makes compilation very fast for a similar small project with 500 hints (from 6 seconds down to less than 1).

QC #:

Date Reported:

Area:

55080

11/20/2007

IDE\Performance

Description:

Steps:

[QC Short Description]
Compiler delay

[QC Description]
Once you have a number of units open, especially large units and units with either forms or datamodules, a noticeable delay occurs between pressing F9 and the compiler dialog appearing.

The delay becomes noticeable at about 20 units. I see delays of about 10-15 seconds at this time.

In my testing I can duplicate delays of over 90 seconds with about 100 forms that causes the IDE to be busy. CPU goes to 100% and their is no IO activity (either reads or writes when using task manager).

This is on a Intel dual core E6600, 2GB Ram, > 160GB disk free. No other applications running.

This application has 1013 units in total (including all VCL units).

I wonder if this is related to the difference in speed of closing a editor window via Ctrl-F4 (which is slow) compared to using the unit tab context menu which is noticablly faster.
QC Entry 55080

1. Open IDE.
2. Install design time packages.
3. Turn of the desktop and project autosave features. Turn off all the code insight features. Remove any *.dsk files from the project.
4. Close the IDE.
5. Open the the IDE and the project group.
6. Press F9 to compile - delay is as expected < 1 second.
7. Open all units starting with "Data" - these are all data module based.
8. Open all forms and frames in the range "FrmAbouts" to "FrmeTransfers".
9. Press F9 to compile.

Actual: Wait 90 seconds for compiler dialog to appear.
Expected: Wait < 10 seconds.

Notes: I have constructed this test case to highlight the issue.
In reality I would not expect to have quite this many forms open, but having 20% to 50% of these numbers does happen.

Testing with constructed projects with large numbers of units eg 1000 (using the provided codegear unit/project generator), but of only a few lines each and no designtime components, does take the IDE a while to open the units (eg open 700 in one hit), but shows no noticeable compiler delay.

QC #:

Date Reported:

Area:

29604

5/29/2006

IDE\Performance

Description:

Steps:

[QC Short Description]
Noticeable delay when compiling in IDE

[QC Description]
This one has bugged me for a while - and in the interests of having Delphi 1
speed ..

On large projects (Delphi Win32 personality) - eg Ours has about 972 units
(at last count) spread over about 30 folders.

If you have the compiler dialog set to display and then press F9 to compile
(or shift-F9 to build), there is a 10-15 second delay before the compile
dialog appears.

On small projects e.g. less < 50 units - there is no noticeable delay.

It would be nice to have this < 1 second!

Myles.
QC Entry 29604

Case (a) - as expected (fast/no delay) 1. Have a large Win32 project handy to compile. Suggest > 500 units (all up). 2. Compiler it. 3. Close IDE. 2. Start IDE. 3. Turn on show compiler progress dialog. 4. Open project/project group - ensure have no forms visible - all in code editor state instead. 5. Compile using Ctrl-F9 6. Wait is about 1 second or less. Case (b) - Slow 1. Have a large Win32 project handy to compile. Suggest > 500 units (all up). 2. Start IDE. 3. Turn on show compiler progress dialog. 4. Open project/project group. 5. Make changes to about 20 units in a variety of folders e.g spend 1/2 an hour editing - esp those not directly included in the project file. It seems esp dependent on having the Form designer active or having being used in the session - the more it is used, or the more frames/forms active, the slower the time to show the compile dialog. 6. Compile using Ctrl-F9 7. Wait for upto 10-15 seconds for dialog to appear (CPU is typically at 100%)

QC #:

Date Reported:

Area:

54509

11/7/2007

IDE\Performance

Description:

Steps:

[QC Short Description]
Compiler concatenates relative paths twice (code insight speed issue)

[QC Description]
The kibiz compiler generates these I/O operations:

QueryOpen C:\Source\Print\FrmPrintSuperTeamRoundMatches.pas
SUCCESS
... [open, read, close DCU file] ...
QueryOpen C:\Source\Print\Print\FrmPrintSuperTeamRoundMatches.pas
PATH NOT FOUND

The last QueryOpen is a concatination of
"C:\RCJAdmin\Source\Print"
and the
"Print\FrmPrintSuperTeamRoundMatches.pas" which is in the dpr file.

Because "C:\RCJAdmin\Source\Print" is not in any path list this looks
like a compiler bug that accidentally concatenates the relative filename to
the already concatenated project path + relative path.


The compiler code seems to do this:

Somewhere:
Path := ProjectPath + ExtractFilePath(UnitFilename);
Somewhere else:
Path := Path + UnitFilename;

The causes one I/O operation more for each unit in the project what
increases the code insight time.
QC Entry 54509

1. Open the attached project in Delphi 2007 personality 2. Compile the project the first time 3. Load ProcessMonitor and restrict it to show bds.exe only 4. Invoke Code Insight in the FormCreate method (Ctrl+Space) 5. Stop ProcessMonitor's event recording 6. Search for "subdir\subdir" in ProcessMonitor's log Expected: There is nothing found Actual: QueryOpen C:\Tests\TestKibizIO\subdir\subdir\Unit2.pas PATH NOT FOUND Stacktrace of the "PATH NOT FOUND" item: kernel32.dll GetFileAttributesExA + 0x1f coreide100.bpl CominoutCFileNameDate$qqrr17SystemAnsiString + 0x160 coreide100.bpl CominoutCFileNameDate$qqrr17SystemAnsiString + 0x247 coreide100.bpl COMINOUTBCFILENAMEDATE$QPC + 0x33

QC #:

Date Reported:

Area:

34940

10/6/2006

IDE\Code Completion

Description:

Steps:

[QC Short Description]
CC doesn't contain custom type privates

[QC Description]
Working with new class, private variable is hidden in CC-list
QC Entry 34940

Start IDE
Open VCL-a project

Insert this snippet into implementation of its Form's source, and try to use CC:

Type


TAnArray = array of String;


TAA = Class(TPersistent)
private
FValueArray : TAnArray;
public
function ValueOfIndex (AnIndex : Integer): String;
End;



{ TAA }


function TAA.ValueOfIndex(AnIndex: Integer): String;
begin
Result := FV [ctrl+Space]

exp: Present a CC List contain FValueArray in it
act: Doesn't

QC #:

Date Reported:

Area:

51658

9/6/2007

IDE\Code Explorer

Description:

Steps:

[QC Short Description]
Code Insight Repeatedly Attempts to Bring up Dialog Box

[QC Description]
While trying to define another problem, I had the code in Steps in the IDE and found an reproducable example of a long standing problem I've seen.

When I hover over the word String where the generic List<String> is used in the code, I get a rapid fire clicking sound and see a dialog box trying to come up to give me type information about String.

I've seen this come and go in various Delphi releases, Win32 and .Net, but this example seems to fail all the time. At least it failed everytime so far, including after a reboot.

2799 + latest DCCIL
QC Entry 51658

program IntErr; {$APPTYPE CONSOLE} uses System.Collections.Generic; type TResult = record Categories: List<String>; end; var MyCats: TResult; function GetCategories: TResult; var Cats: List<String>; begin Cats := List<String>.Create; Result.Categories := Cats; end; begin MyCats := GetCategories; end. Hover over any of the <String>'s.

QC #:

Date Reported:

Area:

34632

9/29/2006

IDE\Menus

Description:

Steps:

[QC Short Description]
inconsistent translations for build menu items

[QC Description]
The german IDE uses inconsistent translations for all menu items for starting a build:

- in the main project menu, for a single project it is called "<projekt> erzeugen" whereas for all projects it is called "Alle Projekte erstellen"

- in the context menu of the Project Manager, the Build menu item is called "Aktualisierung", but for building all projects from here the menu item is called "Ab hier alle erzeugen"

It would be more convenient if a single translation (like "erzeugen") is used for all build-related menu items!
QC Entry 34632

see discription and attached screenshots

QC #:

Date Reported:

Area:

53712

10/19/2007

IDE\Search\Find in Files

Description:

Steps:

[QC Short Description]
Duplicated result when searching into project group

[QC Description]
When searching across files results may show one match several times
QC Entry 53712

1. Create a new project group 2. Create a new VCL application project into this group 3. Save it's default form as Unique.pas 4. Create another new VCL application into this group 5. Save it's default form as Shared.pas 6. Add shared.pas to the first project 7. Call 'Search for files' (Ctrl-Shift-F) and look for 'Shared' while 'where' set to 'all files in project group' 8. You'll see that 'Shared.pas' mentioned twice (see screenshot in the attach)

QC #:

Date Reported:

Area:

53073

10/5/2007

IDE\Search\Find in Files

Description:

Steps:

[QC Short Description]
Highlights in the search result pane is wrong for DBCS

[QC Description]
When you try to search DBCS in file, the search result does not highlight the string that matches with search string. The highlights are wrongly positioned.

(jpg attached - I have a problem attaching files. files are attached in RAID)
QC Entry 53073

0. Change the system locale to Japanese 1. Save the attached Japanese text file 2. Search | Find in Files to search any of the string in the text file // Notice highlight does not match with the search string.

QC #:

Date Reported:

Area:

46549

5/25/2007

IDE\Packages

Description:

Steps:

[QC Short Description]
Packages are displayed without their description

[QC Description]
All Codegear packages are displayed without their description
QC Entry 46549

From the Main menu select - Componants - Install componants... Act : All Codegear packages are displayed without their description Exp : Description should be displayed instead

QC #:

Date Reported:

Area:

54357

11/3/2007

IDE\Desktop Layouts

Description:

Steps:

[QC Short Description]
Closing last page in editor window leaves behind empty window and one more Ctrl-F4 = AV.

[QC Description]
This is a newly introduced issue in RAD Studio 2007. It did not exist in Delphi 2007 Update 1.

When the Classic Undocked desktop layout is active, closing the last remaining page in the editor window via Ctrl+F4 does not cause the editor window to disappear from the screen. Instead, it remains with no caption or visible content. If Ctrl+F4 is pressed again with the window in this state, an Access Violation occurs.

In all previous versions of the IDE, pressing Ctrl+F4 on the last remaining page closed the editor window, and moved the focus to the previous IDE window in the z-order.
QC Entry 54357

1. Start the IDE with the Classic Undocked desktop layout selected. 2. Click File | New | VCL Forms Application - Delphi for Win32. 3. Activate the editor window, and press Ctrl+F4 to close the Unit1 page. (Answer No when asked to save changes.) 4. Press Ctrl+F4 a second time to close the Welcome Page. Actual results: The window remains on the screen with no caption or visible content. Expected results: The window should be hidden, and the focus should move to the previous IDE window in the z-order. Bonus step: 5. Press Ctrl+F4 once more. This results in an Access Violation: --------------------------- Error --------------------------- Access violation at address 20A2247E in module 'coreide100.bpl'. Read of address 00000000. --------------------------- OK Details << --------------------------- [20A2247E]{coreide100.bpl} EditorForm.TEditWindow.ecClosePageClick (Line 4513, "EditorForm.pas" + 2) + $7 [2003FBDD]{rtl100.bpl } Classes.TComponent.UpdateAction (Line 10761, "common\Classes.pas" + 1) + $6 [2015EAA5]{vcl100.bpl } Forms.TraverseClients (Line 5965, "Forms.pas" + 2) + $3 [2015EAED]{vcl100.bpl } Forms.TraverseClients (Line 5968, "Forms.pas" + 5) + $2D [2015EB42]{vcl100.bpl } Forms.TCustomForm.CMActionUpdate (Line 5981, "Forms.pas" + 3) + $21 [20A22479]{coreide100.bpl} EditorForm.TEditWindow.ecClosePageClick (Line 4513, "EditorForm.pas" + 2) + $2 ...

QC #:

Date Reported:

Area:

37086

11/28/2006

IDE\Translation Tools

Description:

Steps:

[QC Short Description]
impossible to add new forms to language projects

[QC Description]
It's not possible to add a new form and creating the resource files, after adding the language support. See steps.
QC Entry 37086

dexter and highlander

1. create a new Delphi Win32 VCL project with a form 2. add language support for any additional language 3. add a new form to the main project 4. Choose Project, Language, Update Localized projects exp: the new form should get added to the language project act: the new form is not added to the language project

QC #:

Date Reported:

Area:

55304

11/27/2007

IDE\Help

Description:

Steps:

[QC Short Description]
Online help entries do not properly hyperlink to unit file

QC Entry 55304

This is with Delphi 2007 Win32 patch 3, plus online help patch 1. 1. Open online help for TComponent 2. Skim down to the "File" section. 3. The file listed is "Classes", but it is not a hyperlink. 4. Go to the help index (not search) and search for "Classes" 5. Click on the first link found: it's the (perfectly fine) file information for Classes. The filename in (3) should be hyperlinked. It used to be in earlier versions, but now it's not.

QC #:

Date Reported:

Area:

43850

4/4/2007

IDE\Help

Description:

Steps:

[QC Short Description]
F1 fails on PosEx method when required unit not in uses clause

[QC Description]
I've upgraded from D7 to D2007. Unfortunately the help system is still way below par.

In the steps panel there's an illustration of what is so wrong about the help - using the ever so useful PosEx function as an example.

QC Entry 43850

Start a new app, double click the form to create an event handler. Into the code editor type PosEx, click onto the function name (PosEx) and click F1 Up pops an error box "No help found for (none)" Hmmm. I'm sure there's a function called PosEx and why doesn't the help system show a helpful message such as "Can't find PosEX" instead of breaking the IDE. Ok let's try it a different way since context sensitive help is broken. Open the help system manually by clicking on the help toolbar button. Click the Index tab in help, type in "PosEx" (or even just "Pos"). Nope nothing to report. I'm sure there's a PosEx function and I absolutely know there is a Pos function. Try the same thing in D7. The help system pops up, displays what I need and I get back to work. No errors, no frustration, just some help and great productivity. It also tells me that the PosEx function lives in the StrUtils unit. Ok, back to D2007 and add StrUtils to the uses clause. Try clicking F1 in D2007 again and this time it works. So now I investigate why the Help search will not find PosEx or even Pos from a manual search. Answer, you have to know that Pos lives in the System unit and PosEx lives in the StrUtils unit, so you can search on "S Y S T E M . P O S" or "S T R U T I L S . P O S E X". (BTW the new help system has an index entry for "System.Pos" and "System.Pos function", ditto for PosEx. Both entries point to the same page providing 2 unhelpful ways to get to the same info). But the reason I pressed F1 back at the beginning is because I didn't know where PosEx was declared, or quite how to use it. !! SYSOP: Callstack for error. [04528684]{htmlhelp2100.bpl} PasHelp.TBasePascalHelpTraits.ShowEditorHelp + $668 [2000A455]{rtl100.bpl } System.@CheckAutoResult + $11 [04528684]{htmlhelp2100.bpl} PasHelp.TBasePascalHelpTraits.ShowEditorHelp + $668 [209F31E1]{coreide100.bpl} EditorControl.TCustomEditControl.HelpKeyword + $145 [209F9048]{coreide100.bpl} EditorControl.TEditControl.CMControlCommand + $80 [4005F6A7]{vcl100.bpl } Controls.TControl.WndProc + $2BB [40063736]{vcl100.bpl } Controls.TWinControl.WndProc + $4FA [40062E60]{vcl100.bpl } Controls.TWinControl.MainWndProc + $2C [20040DE4]{rtl100.bpl } Classes.StdWndProc + $14 [209E3B9E]{coreide100.bpl} VClient.SendWindowMsg + $1A [209E2834]{coreide100.bpl} VClient.SendWindowMsgProc + $10 [209B885E]{coreide100.bpl} IDEKbd.@interpret_bmi_macro$qqrp5BMI_tpcp11CmdMapTableppc + $96 [209B745A]{coreide100.bpl} IDEKbd... + $16A [209E12A8]{coreide100.bpl} VClient.CmdStringProc + $30 [2003FBED]{rtl100.bpl } Classes.TComponent.UpdateAction + $D [4007D475]{vcl100.bpl } Forms.TCustomForm.CMActionExecute + $9D [4007D4BD]{vcl100.bpl } Forms.TCustomForm.CMActionExecute + $E5 [209B8FBB]{coreide100.bpl} IDEKbd.@LookUpKey$qqrp11KeyMapTableul + $1F [20A9455C]{coreide100.bpl} KbClient.TIDEKBDFrameAPI.MapAndEvalInternal + $64 [20A93FE1]{coreide100.bpl} KbClient.HandleKey + $59 [20A94053]{coreide100.bpl} KbClient.HandleKey + $CB [20A942F1]{coreide100.bpl} KbClient.TIDEKBDFrameAPI.ProcessKeyStroke + $289 [20A95024]{coreide100.bpl} KbClient.TIDEKBDChildAPI.ProcessKeyStroke + $A0 [209F7C5C]{coreide100.bpl} EditorControl.TCustomEditControl.DoKeyDown + $54 [209EE872]{coreide100.bpl} EditorControl.TCustomEditControl.CNKeyDown + $9A [4005F6A7]{vcl100.bpl } Controls.TControl.WndProc + $2BB [40080504]{vcl100.bpl } Forms.TApplication.WndProc + $3F0 [40063736]{vcl100.bpl } Controls.TWinControl.WndProc + $4FA [40062E60]{vcl100.bpl } Controls.TWinControl.MainWndProc + $2C [20040DE4]{rtl100.bpl } Classes.StdWndProc + $14 [40080CA4]{vcl100.bpl } Forms.TApplication.IsKeyMsg + $84 [40080D3A]{vcl100.bpl } Forms.TApplication.IsHintMsg + $26 [40080F21]{vcl100.bpl } Forms.TApplication.ProcessMessage + $D1 [40080F86]{vcl100.bpl } Forms.TApplication.HandleMessage + $A [40081210]{vcl100.bpl } Forms.TApplication.Run + $CC [00422971]{bds.exe } bds.bds (Line 196, "" + 7) + $2

QC #:

Date Reported:

Area:

20401

10/20/2005

IDE\Help

Description:

Steps:

[QC Short Description]
F1 is no longer sensitive to variable types

[QC Description]
F1 no longer seems aware of variable types as it was, so doesnt bring up the right method or property but a list of anything with the word in
QC Entry 20401

example Load delphi w32 only Make new empty vcl project first example : click on your forms visible property value, press F1, see Win32 and c++ builder listed... in your form.show var mylist : tlist; begin mylist:=tlist.create; mylist.error('empty list',0); mylist.free; end; Now place your cursor on the word error press F1, rather than being taken to Tlist.error like you used to.. it gives a list of 32 options, tlist.error way way down.. Not condusive to productive coding.. It always used to be better than this.

QC #:

Date Reported:

Area:

39247

1/24/2007

IDE\Help

Description:

Steps:

Index missing for "Modeling Overview"

[QC Short Description]
Misslinked "Modeling Overview"

[QC Description]
Type "project" into Index's look for. "Modeling Overview" will show
QC Entry 39247

Start documentation type "project" into Index's look for click on project ---- act: topics of "Modeling Overview" will show act 2. link to "Modeling Overview" in Index is lost (type this into look-for and it shows nothing)

QC #:

Date Reported:

Area:

41233

2/23/2007

IDE\Help

Description:

Steps:

[QC Short Description]
F1 help not available for Object Inspector pane

[QC Description]
F1 does not show help for Object Inspector
QC Entry 41233

Open Spacely with no files or project open Undock OI from any other windows Click to make sure OI is active window F1 Act - nothing at all happens Exp - help for OI for comparison: Click empty Project Manager window F1 - shows help for PM

QC #:

Date Reported:

Area:

24267

1/30/2006

IDE\Help

Description:

Steps:

[QC Short Description]
"No help found for context" error on Help button click in Project Dependencies

[QC Description]
1) Open a project
2) Click Project->Dependencies
3) Click the help button on the Project Dependencies dialog that opens

Expected: Help page on project dependency dialog is shown.
Actual: Message Box "No help found for context" appears".

Error dump below:

+ $11[51F5CC7B]{rtl100.bpl } HelpIntfs.HelpIntfs.THelpManager.ShowContextHelp (Line 628, "HelpIntfs.pas" + 30) + $11
+ $14[52059AC2]{vcl100.bpl } Forms.Forms.TApplication.HelpContext (Line 7947, "Forms.pas" + 8) + $14
+ $F[20BCDD7B]{coreide100.bpl} ProjectDependencyForm.ProjectDependencyForm.TDependencyForm.HelpButtonClick (Line 150, "ProjectDependencyForm.pas" + 0) + $F
+ $6[5203C998]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line 7242, "Controls.pas" + 101) + $6
+ $4[51FFB928]{vcl100.bpl } StdCtrls.StdCtrls.TButtonControl.WndProc (Line 3513, "StdCtrls.pas" + 13) + $4
+ $11[5203CACF]{vcl100.bpl } Controls.Controls.DoControlMsg (Line 7288, "Controls.pas" + 6) + $11
+ $6[5203C998]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line 7242, "Controls.pas" + 101) + $6
+ $5[520511CD]{vcl100.bpl } Forms.Forms.TCustomForm.WndProc (Line 3284, "Forms.pas" + 125) + $5
+ $6[5203C150]{vcl100.bpl } Controls.Controls.TWinControl.MainWndProc (Line 7021, "Controls.pas" + 3) + $6
+ $0[51F40BB0]{rtl100.bpl } Classes.Classes.StdWndProc (Line 11572, "classes.pas" + 8) + $0
+ $6A[77D48731]{USER32.dll } GetDC + $6A
+ $14A[77D48811]{USER32.dll } GetDC + $14A
+ $17F[77D4B4BB]{USER32.dll } DefWindowProcW + $17F
+ $1CD[77D4B509]{USER32.dll } DefWindowProcW + $1CD
+ $10[7C90EAE0]{ntdll.dll } KiUserCallbackDispatcher + $10
+ $44[77D4B8FE]{USER32.dll } SendMessageW + $44
+ $1B8[77D7FC78]{USER32.dll } CreateMDIWindowA + $1B8
+ $624B[77D764E3]{USER32.dll } DeregisterShellHookWindow + $624B
+ $1160[77D577D9]{USER32.dll } GetCursorFrameInfo + $1160
+ $D9E[77D6B055]{USER32.dll } SoftModalMessageBox + $D9E
+ $6A[77D48731]{USER32.dll } GetDC + $6A
+ $14A[77D48811]{USER32.dll } GetDC + $14A
+ $9C[77D4C63A]{USER32.dll } IsWindowUnicode + $9C
+ $16[77D4E900]{USER32.dll } CallWindowProcA + $16
+ $17[5203CA7B]{vcl100.bpl } Controls.Controls.TWinControl.DefaultHandler (Line 7269, "Controls.pas" + 23) + $17
+ $6[5203C998]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line 7242, "Controls.pas" + 101) + $6
+ $4[51FFB928]{vcl100.bpl } StdCtrls.StdCtrls.TButtonControl.WndProc (Line 3513, "StdCtrls.pas" + 13) + $4
+ $0[51F40BB0]{rtl100.bpl } Classes.Classes.StdWndProc (Line 11572, "classes.pas" + 8) + $0
+ $6A[77D48731]{USER32.dll } GetDC + $6A
+ $14A[77D48811]{USER32.dll } GetDC + $14A
+ $122[77D489C8]{USER32.dll } GetWindowLongW + $122
+ $A[77D496C2]{USER32.dll } DispatchMessageA + $A
QC Entry 24267

1) Open or create a project group with two or more projects. 2) Click Project->Dependencies 3) Click the help button on the Project Dependencies dialog that opens

QC #:

Date Reported:

Area:

40348

2/12/2007

IDE\Help

Description:

Steps:

[QC Short Description]
Suggestion: F1 help on whitespace should open index

[QC Description]
When Pressing F1 = Help in the Code Editor on white space, the Help Window does not open. I feel it should open with the Index.
QC Entry 40348

QC #:

Date Reported:

Area:

47744

6/19/2007

IDE\Refactoring\Change Parameters

Description:

Steps:

[QC Short Description]
Change params will strip off with existing default values when adding a new parameter

[QC Description]
Given this unit:

unit Unit2;

interface
type
desc2 = class(TOBject)
function Add(const AText: string = ''): tobject;
end;

implementation

function desc2.Add(const AText: string = ''): tobject;
begin
end;

end.

When refactoring function Add() - change params
1. when another param is added (eg. test: integer), the resulting code is as follows:

Function Add(const AText: string = ; test: Integer): tobject;
QC Entry 47744

+ File | New | Other | Console Application - Delphi Win32
+ Copy the Following code:
---------------
unit Unit2;

interface
type
desc2 = class(TOBject)
function Add(const AText: string = ''): tobject;
end;

implementation

function desc2.Add(const AText: string = ''): tobject;
begin
end;

end.
-----------
+ Right Click on Add Function
+ Select Refactoring | Change Params
+ Set name = test
+ Set Type = integer
+ Click OK
+ Click Refactoring Button on window
//exp: Function Add(const AText: string = '' ; test: Integer): tobject
//act:
Function Add(const AText: string = ; test: Integer):

----------- ORIGINAL ------------------
1. refactor - add params to funciton Add()
2. add a new parameter
3. Click the refactor button to make refactoring occur
results: default value of existing parameter is deleted. Project wil no longer compile.

QC #:

Date Reported:

Area:

42248

3/9/2007

Install

Description:

Steps:

[QC Short Description]
The installer backup files should not be placed under Documents and Settings

[QC Description]
The {34A3E1C5-E6E5-4CBE-A5FC-787A0B6C2E0A} directory that stores a copy of all of the entire installation files should be put in Program Files\CodeGear\Studio\ (or wherever the IDE is installed).

Many corporate (and personal) environments backup the Documents and Settings stuff, and there generally isn't any reason to backup hundreds of megabytes of an IDE installer.
QC Entry 42248

Install Delphi 2007 Check for a huge GUID named folder under: C:\Documents and Settings\<UserName>\Local Settings\Application Data\ containing files like these: Setup.msi and lots of subdirectories and 470 MB of files

QC #:

Date Reported:

Area:

54730

11/12/2007

Install

Description:

Steps:

[QC Short Description]
Access violation at ntdll.dll after Update 3 install

[QC Description]
I have recently downloaded and installed Update #3 for Delphi 2007. After the installation was successfully completed I tried running Delphi 2007 and it no longer started. Shortly after the program is initiated and before any initializations screens are displayed I get the following error:

Exception EacessViolation in module ntdll.dll at 00010C3F
Access violation at address 7C910C3F in module ntdll.dll

And the program will simply not start. I ve done a lot of research on the CodeGear website especially on Chris Pattinson s website and have tried nearly everything.
I have downloaded the installation zip file: http://cc.codegear.com/item/25014
Extracted it to a new clean folder and done the installation process from there.

When the first time around didn t work I tried using the repair option from the same installation file. In order to be able to do that I had to remove all my cglm.ini files. Even after the repair installation has been completed I still get the ntdll.dll access violation error. I also tried the modify option and nothing.

After many trials I decided to completely uninstall Delphi from my computer, then I installed from scratch using the Update #3 file that I downloaded and the same issues came up.
I was extremely frustrated and this is my work computer so it is very important that I can use Delphi on it! So I finally decided to FORMAT my computer and install Delphi 2007 from scratch using the Update #3 installation. That also didn t work and I still get exactly the same ntdll.dll access violation error!

I have no idea what to do and it s been 3 days now that I can t do my work because Delphi is not running. This is extremely frustrating and I simply cannot understand something like this can happen specially since Delphi 2007 was working perfectly on my computer before I made the mistake of installing Update #3.
QC Entry 54730

QC #:

Date Reported:

Area:

51358

8/30/2007

Install

Description:

Steps:

[QC Short Description]
German Uninstaller contains English strings

[QC Description]
The uninstaller of the german Highlander Build 11.0.2791.8981.1 contains some english strings. This should be translated into german.

1. Cleaning up GAC. This could be translated to "GAC wird bereinigt".

2. Processing Help System: Help is being uninstalled. This may take an
extanded period of time. This could be translated to this: "Verarbeite Hilfe: Die Hilfe wird gerade deinstalliert. Dies kann einige Zeit dauern."
QC Entry 51358

Just uninstall the german Version and you can see the strings.

QC #:

Date Reported:

Area:

54409

11/5/2007

Install

Description:

Steps:

Install is not putting framework files in the proper directory if the OS is 64 bit. Should be putting all Microsoft.NET\Framework files in to Microsoft.NET\Framework64 in this case.

--------------ORIGINAL -------------------------------
[QC Short Description]
Project compiles fine under IDE, but not using MSBuild

[QC Description]
A project that compiles fine under the IDE doesn't compile at all when using MSBuild (under Vista x64).
QC Entry 54409

------------- QA NOTES ------------
Happens also on Windows XP 64. It appears to be a 64 bit machine that causes this.
The issue is that the framework is put under Framework64 and not Framework as under a 32 bit system.

--------------- ORIGINAL ------------------
I am developing under Windows Vista Ultimate x64 with UAC enabled and using an 'admin' account created for me during the installation process (of Windows Vista).

- Unzip the attached project;
- Open the "Test" folder;
- Double click on "MSBuild Test.bat".

On my system, I get a message that reads:

---------------------------------------
Setting environment for using CodeGear RAD Studio tools
Microsoft (R) Build Engine Version 2.0.50727.312
[Microsoft .NET Framework, Version 2.0.50727.312]
Copyright (C) Microsoft Corporation 2005. All rights reserved.

C:\Users\Alan Garny\Desktop\Test\Project1.dproj(71,11): error MSB4019: The imported project "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Borland.
Delphi.Targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
Press any key to continue . . .
---------------------------------------

Now, if I open "Test.dproj" in D2007.3, I have no problem: it compiles fine. For information, I don't remember ever experiencing that problem under Vista x86 or XP x86.

QC #:

Date Reported:

Area:

41024

2/21/2007

Install

Description:

Steps:

[QC Short Description]
7zip files should not be in the same folder as setup.exe

[QC Description]
In the field test downloadable install, there are a huge number of .7zip files in the install folder where the setup.exe file is. This is somewhat ugly / messy, and leaves a slightly unprofessional, almost "warez-y" feeling. 7zip itself is already a rather strange and warez-y format to use.

I would suggest the following:

- At the very least make a subfolder that holds all the 7zip files, and leave only the setup.exe, readme and eula files (+ any other crucial files) in the main folder. This way at least the setup is easy to find.

- Since the 7zip files are password protected, and not meant for the end user to open, why not change the extension to something that doesn't make everyone want to open them? Something like .bin for example is really neutral and, at least IMO much less suspectible.

Also, note that on some systems password protected compressed files are not allowed at all! This is because compressed files are a common method of viruses and other nasties to spread, and when the archive is password protected virusscanners cannot scan them. I personally know at least two companies where these files would not be allowed on the users computer at all, although I don't think that that would be very common for developer's machines.
QC Entry 41024

since R2 there is a dialog to define the locaten of the 7zip files.

QC #:

Date Reported:

Area:

45687

5/9/2007

Install

Description:

Steps:

[QC Short Description]
Text truncated on German "Setup finished" Dialog

[QC Description]
The text "Automatically search for updates" is too long in the German version: "Bei der Ausf hrung von RAD Studio automatisch nach Aktualisierungen| suchen" ("|" = Cut)
QC Entry 45687

Install German version

QC #:

Date Reported:

Area:

39998

2/6/2007

Install

Description:

Steps:

[QC Short Description]
File -> New menu items should be extended

[QC Description]

Currently, the contents of the menu "File -> New" is this (in this order as
well):

- Package - Delphi for Win32
- Unit - Delphi for Win32
- VCL Forms Application - Delphi for Win32
- Form - Delphi for Win32
This should be redesigned, both in the order of items, and the items that
are visible.

Especially the "Package" as the first item bugs me: a lot of users
(especially first time users) are never going to create packages...




QC Entry 39998



I'd much rather see this:

- VCL Forms Application - Delphi for Win32
- Console Application - Delphi for Win32
- Package - Delphi for Win32
- Separator
- DataModule - Delphi for Win32
- Form - Delphi for Win32
- Frame - Delphi for Win32
- Unit - Delphi for Win32
- Separator
- Customize
- Separator
- Other


The idea behind this:
- 3 groups (projects, files, special)
- within a group it is alphabetically ordered (except for project)

QC #:

Date Reported:

Area:

40054

2/6/2007

Install

Description:

Steps:

[QC Short Description]
Slim Installation fails

[QC Description]
I did a slim installation (without DB components, etc.). In the IDE I can still see DB, soap components. See attachments.
QC Entry 40054

1. Install OS 2. download setup.exe stub 3. install 4. in the package selection mark any db related components as "do not install" 5. accept default values note: initial reporter has included screenshots of the installer. exp: installation does exclude db related components act: installation is full with all packages

QC #:

Date Reported:

Area:

51960

9/13/2007

Install

Description:

Steps:

[QC Short Description]
CodeGear RAD Studio 2007 BDS2006 IDE conflict

[QC Description]
OS Vista
BDS2006 + Castalia 5 IDE enhancer 1 + MyDac MySQL components addons
2 GB memory, nVidia 8800 display
After installing RAD Studio 2007 in different directory running BDS2006 results in error :-
Exception EPackageRegistrationException in module coreidel00.bpl at 000DCB21.
Registration procedure, Cppproject.IDERegister in package C:\Program
Files\Borland\BDS\4.0\Bin\bcbide100.bpl
raised exception class EOleSysError: OLE error 80131040, ClassID:
{F8FEDD39-E3CE-4B8D-A657-9CA24686881F}.
Do you want to attempt to load this IDE package the next time Borland Developer Studio
2006 is run?


BDS2006 is unable to run.
QC Entry 51960

QC #:

Date Reported:

Area:

48531

7/4/2007

Install\User Interface

Description:

Steps:

[QC Short Description]
Some dbXpress related items have no description

[QC Description]
Some of the dbXpress components which can be deselected in the installer's feature tree do not have any german description. All other items do at least have one.
QC Entry 48531

1. start the installer with german language (don't know if english is affected as well) 2. go to the main feature tree 3. look at the dbXpress section 4. find items without description

QC #:

Date Reported:

Area:

43804

4/4/2007

Install\Launcher

Description:

Steps:

[QC Short Description]
Installer completely ignores option to "Automatically check for updates when RAD Studio is run"

[QC Description]

[Sysop: Changed Descriptions and performed additional tests]

Regardless of OS, regardless of choice for "Shortcuts", and regardless of choice for "Automatically check for updates when RAD Studio is run", the installer *always* sets up RAD Studio to check for updates on run.
QC Entry 43804

Install Delphi 2007 At the last screen, uncheck "Automatically check for updates when RAD Studio is run". Exp.: Setup.exe would not be launched by BDS when it runs. Act.: BDS *always* launches setup.exe to check for updates.

QC #:

Date Reported:

Area:

46930

6/1/2007

Install\Files

Description:

Steps:

[QC Short Description]
When updating RTM, the installer copies files to a wrong folder

[QC Description]
Steps describing the problem.
QC Entry 46930

1. I installed Delphi 2007 RTM to a custom foder, say C:\BORLAND\BDS 2. Than I installed 2694 (was that update 1?) expected: files should be copied to the folder RTM was initially installed. actual: I got all the installation foder under C:\Program Files\RAD Studio

QC #:

Date Reported:

Area:

47208

6/7/2007

Database\Data Aware Controls\TDBLookupComboBox

Description:

Steps:

[QC Short Description]
Object Inspector

[QC Description]
A combobox of available fields is not there when setting listfield and keyfield properties of a TDBLookupComboBox after setting the listsource property.

IOW: User expects a drop down list when clicking on listfield, or on keyfield after setting the listsource.
QC Entry 47208

1. New VCL forms App - Delphi for Win 32 2. Add an TADOConnection (ADOConnection1), a TADOQuery (ADOQuery1) and a TDatasource (DataSource1). 3. Set ADOConnection1's ConnectionString to point to the Northwind database of MSSQL 2000 or 2005. 4. Set ADOQuery1's Connection property to the ADOConnection1. 5. Set the DataSet property of the DataSource1 component to ADOQuery1. 6. Set the SQL text of the ADOQuery1 to select * from Employees 7. Add a DBLookupComboBox to the form. 8. Set the DBLookupComboBox1's ListSource property to DataSource1. 9a Click on ListField OR 9b Click on KeyField ACT: No dropdown list box on either ListField or KeyField listing possible fields. EXP: Dropdown listbox on 9a or 9b.

QC #:

Date Reported:

Area:

52511

9/25/2007

Database\Data Access Controls

Description:

Steps:

[QC Short Description]
Problem with TClientDataSet.Locate

[QC Description]
When I tried to execute
ClientDataSet.Locate(FieldName, Str, []);


where Str is any string with length more then 256 symbols I recieved full application crash.

The problem is in following code

procedure TExprParser.NextToken;
var
...
StrBuf: array[0..255] of WideChar;
...
begin
...
if L < SizeOf(StrBuf) then
begin
StrBuf[L] := P^;
Inc(L);
end;

/////////
SizeOf(StrBuf) = 512 so we have buffer overflow when Length(Str) > 256
This also applies to ClientDataSet. Filter :=
and some other places.

QC Entry 52511


// Francois Piette
I see this in build 2857.9907.4

Several repeated calls to SetLength(Str, 512); ClientDataSet.Locate(FieldName, Str, []);

QC #:

Date Reported:

Area:

46268

5/20/2007

Database\TField\TNumericField

Description:

Steps:

[QC Short Description]
TFMTBCDField's DisplayFormat does not display correct format

[QC Description]
again problem in displayFormat

my DisplayFormat = #,###,##0.00

Field value = 1 display 1,00 ( OK )
Field value = 1.01 display 1,01 ( OK )
Field value = .01 display ,01 ( error )

correct it would be display 0,01

what it can be?
QC Entry 46268

TFMTBCDField.GetText depends on FormatBCD which produces the expected result. Seen here in the source for DB.pas.

procedure TFMTBCDField.GetText(var Text: string; DisplayText: Boolean);
var
Format: TFloatFormat;
Digits: Integer;
FmtStr: string;
Bcd: TBcd;
begin
try
if GetData(@Bcd, False) then
begin
if DisplayText or (EditFormat = '') then
FmtStr := DisplayFormat else
FmtStr := EditFormat;
if FmtStr = '' then
begin
if FCurrency then
begin
if DisplayText then Format := ffCurrency else Format := ffFixed;
Digits := CurrencyDecimals;
end
else begin
Format := ffGeneral;
Digits := 0;
end;
Text := BcdToStrF(Bcd, Format, FPrecision, Digits);
end else
Text := FormatBcd(FmtStr, Bcd);
end else
Text := '';
except
on E: Exception do
Text := SBCDOverflow;
end;
end;

(This test presumes "," is the thousands separator and "." is the decimal point)

program BTS263754;
{ TFMTBCDField's DisplayFormat does not display correct format
}
{$APPTYPE CONSOLE}

uses
FMTBcd,
SysUtils;

var
Value: TBCD;
RetVal: String;
begin
try
Value := StrToBCD('.01');
RetVal := FormatBCD('#,###,##0.00', Value);
if RetVal = '0.01' then
WriteLn('PASS')
else
WriteLn('FAIL RetVal=', RetVal);
except
on E: Exception do
WriteLn('FAIL - Exception=', E.ClassName, '/', E.Message);
end;
end.

QC #:

Date Reported:

Area:

29889

6/7/2006

Database\Core VCL

Description:

Steps:

[QC Short Description]
ftFixedWideChar type checking is missing in many places

[QC Description]
In db.pas, ftFixedWideChar has been added to the TFieldType array. However, searching through db.pas shows that it is missing from all places where there are CASE fieldtype OF ... constructs. This affects methods like TParam.GetDataSize, TParam.GetData... etc etc.

no test program should be necessary; it is obvious from db.pas that the new fieldtype is not fully implemented yet.
QC Entry 29889

If, like NexusDB, you implement your TDataset descendant with support for this new fieldtype, you will get a nasty surprise when trying to use it with parameters etc.

QC #:

Date Reported:

Area:

33936

9/14/2006

Database\ADO

Description:

Steps:

[QC Short Description]
When using SQL Server Decimal data type Delphi uses TBCDField instead of TFMTBcdField

[QC Description]
When using SQL Server Decimal data type, Delphi uses TBCDField instead of TFMTBcdField. TBCDField accepts only 4 digits to the right of the decimal place.

Changing TADOQuery.EnableBCD to False, Delphi uses TFloatField, but it accepts only 15 digits to the right and
left of the decimal place.

The solution is to use TFMTBCDField.
QC Entry 33936

Using Delphi 2006: create a TDBGrid linked in a TDataSource linked in a TClientDataSet linked in a TDataSetProvider linked in a TADOQuery linked in TADOConnection. Insert the following SQL command in TADOQuery: SELECT * FROM TestTable After execute TClientDataSet.Open, the value that is shown is 123456789012345.1392 instead of 123456789012345.123456789012 If TADOQuery.EnableBCD will set to False, the value that is shown is 123456789012345 instead of 123456789012345.123456789012 If a TFMTBCDField will be created manually, an error occurs. All the images are attached below.

QC #:

Date Reported:

Area:

50327

8/10/2007

Database\ADO

Description:

Steps:

[QC Short Description]
TADODataSet throws "invalid variant operation" exception

[QC Description]
Technical stuff

OS.........: Windows XP SP2 and Windows Vista Business
MDAC.......: 2.81.1117.0
Compiler...: Delphi 2007 for Win32 (11.0.2709.7128)
Database...: MS-SQL Server 2005 Developer and Express with SP2 (9.0.3042)
QC Entry 50327

Take a look at the example source code (attachment) and you can see everything works fine with an access database/tables. Try the same thing with MS-SQL 2005 tables where the primary keys are BIGINT and the foreign key ADDR_ID in the second table is also an BIGINT. Debugging --> ADODB.PAS Failure in procedure TCustomADODataSet.RefreshParams; in sub function function MasterFieldsChanged: boolean; { .. } if Parameters.ParamByName(MasterField.FieldName).Value <> MasterField.Value then // <-- This creates the "invalid variant operation" { ... } How to solve? Seems to be a problem with trying to compare an varDecimal with varInt64?

QC #:

Date Reported:

Area:

41818

3/4/2007

Database\DBExpress

Description:

Steps:

[QC Short Description]
Dragging and dropping from the dataexplorer window is not hooking up the components correctly.

QC Entry 41818


[QA Update]
The real issue here is if you have a DBXConnection name that shares the same name as a table within the database you are connecting too, then you will get this error if you drag THAT table name onto the form and try activate it. (It's ugly then but works the rest of the time.)

1) Create a DbxExpress connection in the dataexplorer window to the Employee Interbase database. Name the connection "Employee".
//Note*

2) Create a new vcl forms application
3) In the data explorer browse down to the tables list
4) Drag the employee table from the data explorer onto the form design surface
5) 2 components are created. A tsqlconnection and a tsqldataset.

Expected: sqlconnection property for sqldataset should be "Employee"
actual: sqlconnection property for sqldataset is "SqlDataSet1"

So its pointing at itself.

If I attempt to change the sqlconnection property via the dropdown an access violation occurs. It appears all i can do is terminate the IDE by force.

QC #:

Date Reported:

Area:

45645

5/8/2007

Database\DBExpress

Description:

Steps:

[QC Short Description]
dbExpress-MySql: Query-Connections do not get closed

[QC Description]
I use a tSqlConnection to connect to a local MySql 5.0 Server.
If I fire two different querys (tSqlQuery) alternativly several times, I get the message that there are too many connections. Opening the MySql-Administrator, I found that for every query a connection is opened, but it does not get closed again.
QC Entry 45645



Note from Tomohiro Takahashi:
Use of transaction explicitly at every query is a possible workaround like this.
---------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
t: TDBXTransaction;
begin
t := SQLConnection1.BeginTransaction;
SQLQuery1.Open;
SQLQuery1.Close;
SQLConnection1.CommitFreeAndNil(t);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
t: TDBXTransaction;
begin
t := SQLConnection1.BeginTransaction;
SQLQuery2.Open;
SQLQuery2.Close;
SQLConnection1.CommitFreeAndNil(t);
end;
--------------------------------------

See
TDBXBugsSuite.Native.DB.Test.exe -s:TestRaid_250570

-or-
object SQLConnection1: TSQLConnection
ConnectionName = 'MySQLConnection'
DriverName = 'MySQL'
GetDriverFunc = 'getSQLDriverMYSQL'
LibraryName = 'dbxmys30.dll'
LoginPrompt = False
Params.Strings = (
'DriverName=MySQL'
'HostName=localhost'
'Database=world'
'User_Name=root'
'Password=????'
'BlobSize=-1'
'ErrorResourceFile='
'LocaleCode=0000'
'Compressed=False'
'Encrypted=False')
VendorLib = 'libmysql.dll'
Left = 24
Top = 24
end
object SQLQuery1: TSQLQuery
MaxBlobSize = -1
Params = <>
SQL.Strings = (
'select * from country')
SQLConnection = SQLConnection1
Left = 96
Top = 24
end
object SQLQuery2: TSQLQuery
MaxBlobSize = -1
Params = <>
SQL.Strings = (
'delete from country where id=13;')
SQLConnection = SQLConnection1
Left = 144
Top = 24
end
object SQLDataSet1: TSQLDataSet
DbxCommandType = 'Dbx.SQL'
MaxBlobSize = -1
Params = <>
SQLConnection = SQLConnection1
Left = 240
Top = 48
end
end
******************************************
procedure TForm1.Button1Click(Sender: TObject);
begin
sqlQuery1.Open;
sqlQuery1.Close;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
sqlQuery2.ExecSQL;
sqlQuery2.close;
end;

QC #:

Date Reported:

Area:

23024

1/2/2006

Database\DBExpress\TSQLConnection

Description:

Steps:

[QC Short Description]
can't correctly set transaction isolation level in MSSQL 2000

[QC Description]
When using this component with MSSQL 2000 Server,transaction isolation level cannot be set with it's TTransactionDesc.IsolationLevel.
Example:
var
t: TTransactionDesc;
begin
t.TransactionID:=1;
t.IsolationLevel:=xilDIRTYREAD;
SQLConnection1.StartTransaction(t);
//SQLConnection1.Execute('...');
SQLConnection1.Commit(t);
end;
This should set transaction isolation level to "Read Uncommitted",but instead it set to "Read Committed"!!!
After several times of testing,I found out that to change the isolation level,I have to:
1.Close and reopen SQLConnection1
2.Set SQLConnection1.Params.Values['MSSQL TransIsolation']:=DIRTYREAD
3.Start the transaction

This looks like a bug,because I have to do these 3 steps everytime I want to change the transaction isolation level in MSSQL 2000.Please Fix this problem!!!
QC Entry 23024

TDBXTiburonBugsSuite.Native.DB.Test.exe connection=mssqlconnection -s:oTestRaid_238263

Example:
var
t: TTransactionDesc;
begin
t.TransactionID:=1;
t.IsolationLevel:=xilDIRTYREAD;
SQLConnection1.StartTransaction(t);
//SQLConnection1.Execute('...');
SQLConnection1.Commit(t);
end;
This should set transaction isolation level to "Read Uncommitted",but instead it set to "Read Committed"!!!
After several times of testing,I found out that to change the isolation level,I have to:
1.Close and reopen SQLConnection1
2.Set SQLConnection1.Params.Values['MSSQL TransIsolation']:=DIRTYREAD
3.Start the transaction


QA Update:
Here's the output from SQLMonitor w/ RTM build:
OLEDB - IDBInitialize
OLEDB - IDBCreateSession
OLEDB - IDBCreateCommand
OLEDB - ITransactionLocal
OLEDB - StartTransaction
OLEDB - ICommandText
select * from orders
OLEDB - SetCommandText
OLEDB - Execute
OLEDB - GetResult
OLEDB - IColumnsInfo
OLEDB - GetColumnInfo
OLEDB - Release
OLEDB - IAccessor
OLEDB - CreateAccessor
OLEDB - ReleaseAccessor
OLEDB - Release
OLEDB - Release
OLEDB - Release
OLEDB - Commit

QC #:

Date Reported:

Area:

6903

1/13/2004

Database\DBExpress\TSQLQuery

Description:

Steps:

Hi,

Take a look at the source below, it comes from the Delphi 7
dbExpress component TSQLQuery.

Despite "ParamCheck = False", it still parses the text for
parameters when the text is set at design time. This modifies
the original SQL to include "?" instead of ":<something>".

When you are, for example, trying to create an InterBase
stored procedure, the text can contain ":<something>" that
should not be replaced by "?" cause it will fail. Setting
it at run-time fixes the problem, but this is a workaround.

Comments?

procedure TSQLQuery.QueryChanged(Sender: TObject);
var
List: TSQLParams;
begin
if not (csReading in ComponentState) then
begin
Close;
SetPrepared(False);
if ParamCheck or (csDesigning in ComponentState) then
begin
List := TSQLParams.Create(Self);
try
FText := SQL.Text;
List.Parse(FText, True);
List.AssignValues(FParams);
FParams.Clear;
FParams.Assign(List);
finally
List.Free;
end;
end else
FText := SQL.Text;
DataEvent(dePropertyChange, 0);
end else
FText := FParams.ParseSQL(SQL.Text, False);
SetFCommandText(FText);
end;

QC Entry 6903

Drop a TSQLQuery on your form, set "ParamCheck" to false and enter a text for the "SQL" property that contains ":" characters

QC #:

Date Reported:

Area:

54673

11/10/2007

Database\dbExpressCore

Description:

Steps:

[QC Short Description]
Incorrect String for the TDBXErrorCodes.NotImplemented const

[QC Description]
The class TDBXErrorCodes has an incorrect string for the TDBXErrorCodes.NotImplemented const:

...
TDBXErrorCodes.MissingParameterMarker: Result := 'MissingParameterMarker';
TDBXErrorCodes.NotImplemented: Result := 'MissingParameterMarker'; <<<<<---
TDBXErrorCodes.DriverIncompatible: Result := 'DriverIncompatible';
...
QC Entry 54673

// Francois Piette
Still in 2902.10471

Open DBXCommon.pas source file
Go to line 4239
You see this:
TDBXErrorCodes.NotImplemented: Result := 'MissingParameterMarker';
Expected:
TDBXErrorCodes.NotImplemented: Result := 'NotImplemented';

QC #:

Date Reported:

Area:

30682

6/28/2006

International\Translation

Description:

Steps:

[WRONG TRANSLATION]

Still present in Spacely

[QC Short Description]
French translation for H2365 is incorrect

[QC Description]
The English message for H2365 reads like this

The overloaded TForm1.create method should have the same case as the ancestor TCustomForm.Create

In French, the word "case" has been left as is, which does not mean the way a word is written with respect to Upper/Lower case. It means "box" which is a bit weird ;-)
The valid translation would be "casse" with two s' so that the final message reads

H2365 La m thode TForm1.create red finie devrait avoir la m me casse que l'anc tre TCustomForm.Create
QC Entry 30682

SEE Jean-claude comment

Create a new VCL forms application
Declare an overriden create constructor, with a lower case c
Compile.

The source is closely:

type
TForm1 = class(TForm)
private
{ Private declarations }
public
constructor create(AOwner: TComponent); override;
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

constructor TForm1.create(AOwner: TComponent);
begin
inherited;
end;

Warning text: is [DCC Avertissement] Unit1.pas(14): H2365 La m�thode TForm1.create red�finie devrait avoir le m�me case que l'anc�tre TCustomForm.Create

QC #:

Date Reported:

Area:

45688

5/9/2007

International\Truncation

Description:

Steps:

[QC Short Description]
Truncated option in German Options-Dialog

[QC Description]
On the Tool Palette options page, a string is truncated.
QC Entry 45688

In the german version, go to Tools->Optionen->Tool-Palette

QC #:

Date Reported:

Area:

11132

3/1/2005

VCL

Description:

Steps:

[QC Short Description]
Syncronize component between personalities - TLinkLabel

[QC Description]
Syncronize component sets between personalities - TLinkLabel
.

Each personality should have components which are present in another (where applicable)...

Diffeences results are available here:
http://www.dragonsoftru.com%?go=d7d2005

I am looking mostly for WinForms -> VCL.Net -> VCL.win32 sync.
QC Entry 11132

QC #:

Date Reported:

Area:

3166

8/16/2005

VCL

Description:

Steps:

Delphi Win32 VCL has been requested by numerous customers to support Unicode strings.

See NETFR13910

QC #:

Date Reported:

Area:

45828

5/11/2007

VCL

Description:

Steps:

[QC Short Description]
Control-Scaling fails if AlignWithMargin / Padding is used

[QC Description]
The vcl-internal scaling is broken or at least produces unexpected (incorrect?) results if aligning is used, AlignWithMargin and/or Padding is set and the form/controls are scaled (e.g. due to a changed system-font/size or some other call to ScaleBy).
QC Entry 45828

.) create a new vcl-project and change to its new empty form .) place a TLabel at position 0/0, enter some text .) place a TPanel at the form, set - Panel1.Align to alTop - Panel1.AlignWithMargin to True - Panel1.Margin.Top to 13 (so that it is positioned exactly below the Label .) place a Button on the form, set its OnClick to procedure TForm3.Button1Click(Sender: TObject); begin ScaleBy(2, 1); end; run the app. > In the beginning the form looks fine (TPanel is located BELOW the label) > Press the Button > Form is scaled to double the size (including Fontsizes), however > Layout is BROKEN (Panel1 is positioned over the label, not anymore below it) Reason is that aligning takes into account Panel1.Margin, however TControl.Margin is not correctly scaled (it isn't scaled at all!) The same problem can be seen if padding is used... Effectively this makes using Padding/AlignWithMargin useless/impossible if the forms might be scaled (Form.Scaled is set to True).

QC #:

Date Reported:

Area:

11139

3/1/2005

VCL

Description:

Steps:

Promote TTrayIcon from demo to palette.

[QC Short Description]
Syncronize component sets between personalities - NotifyIcon

[QC Description]
Syncronize component sets between personalities - NotifyIcon

Each personality should have components which are present in another (where applicable)...

Diffeences results are available here:
http://www.dragonsoftru.com%?go=d7d2005

I am looking mostly for WinForms -> VCL.Net -> VCL.win32 sync.
QC Entry 11139

QC #:

Date Reported:

Area:

44990

4/25/2007

VCL

Description:

Steps:

[QC Short Description]
hidden MessageDlg/InputQuery spawn from stayontop forms

[QC Description]
MessageDlg and InputQuery dialogs are "hidden" when called from StayOnTop forms if the form covers the desctop center. I'm running WinXPSP2. See belove code sample to reproduce the code. The same code works fine in Delphi 2006
QC Entry 44990

//DMF object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 222 ClientWidth = 325 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Position = poDesktopCenter PixelsPerInch = 96 TextHeight = 13 object Button1: TButton Left = 130 Top = 8 Width = 75 Height = 25 Caption = 'CreateForm' TabOrder = 0 OnClick = Button1Click end object Button2: TButton Left = 49 Top = 72 Width = 75 Height = 25 Caption = 'MessageBox' TabOrder = 1 OnClick = Button2Click end object Button3: TButton Left = 130 Top = 72 Width = 75 Height = 25 Caption = 'MessageDlg' TabOrder = 2 OnClick = Button3Click end object Button4: TButton Left = 208 Top = 72 Width = 75 Height = 25 Caption = 'InputQuery' TabOrder = 3 OnClick = Button4Click end end //CODE unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private FFrm:TForm1; public end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if Assigned(FFrm) then FreeAndNil(FFrm) else begin FFrm:=TForm1.Create(Self); FFrm.FormStyle:=fsStayOnTop; FFrm.PopupParent:=Self; FFrm.Caption:=Self.Caption+'.Form1'; FFrm.Show; end; end; procedure TForm1.Button2Click(Sender: TObject); begin Windows.MessageBox(Handle,PChar(Application.Title),PChar('Msg'),MB_OK or MB_ICONQUESTION); end; procedure TForm1.Button3Click(Sender: TObject); begin MessageDlg('Msg',mtInformation,[mbOK],0); end; procedure TForm1.Button4Click(Sender: TObject); var s0:string; begin InputQuery('ACaption','AMessage',s0); end; end.

QC #:

Date Reported:

Area:

46982

6/3/2007

VCL

Description:

Steps:

[QC Short Description]
Commonly Get Extra Taskbar Item

[QC Description]
Very commonly, after launching the IDE on Vista Ultimate with compositing (Glass) enabled, I end up with two taskbar entries for the IDE. One (the first) is blank. The second has the proper caption. This happens frequently if the system is being taxed while loading the IDE.
QC Entry 46982

Tap your cores. Easiest way for me to duplicate this: 1) Download and install WinRAR 2) Select the entire setup folder for the IDE and start compressing it. This taps both cores for me Now, after assuring all cores are tapped: 1) Launch the IDE 2) While the splash screen is visible, click repeatedly until Vista says that the program is not responding - AT THIS POINT you should get a taskbar entry with a blank caption 3) Click to Wait for the program to respond on the Vista dialog 4) Wait for the IDE to load After loading, another taskbar entry (the "proper" one) is added to the blank one.

QC #:

Date Reported:

Area:

47918

6/21/2007

VCL

Description:

Steps:

[QC Short Description]
IDE Menu Toolbar painting and performances issues under Windows Vista

[QC Description]
Customizing the IDE menu is a real pain under Windows Vista
Note that the IDE imust be maximized

- lelft clicking on the Grip will make the toolbar's border vanishing



- draging one menu Toolbar over another menu toolbar make the IDE unreponsive (60 % CPU time)
- draging one menu Toolbar over the IDE form caption make the IDE unreponsive (90% CPU time)

On all dragging cases, main menu, toolsbars are vanishing during all the draging time.
When toolbar is dropped, it is badlby sized (heigth is bigger for about 2 pixels)
QC Entry 47918

Customizing the IDE menu is a real pain under Windows Vista

When the IDE is maximized or not :
- lelft clicking on the Grip will make the toolbar's border vanishing


When the IDE is maximized
- draging one menu Toolbar over another menu toolbar make the IDE unreponsive (60 % CPU time)
- draging one menu Toolbar over the IDE form caption make the IDE unreponsive (90% CPU time)

On all dragging cases, main menu, toolsbars are vanishing during all the draging time.
When toolbar is dropped, it is badlby sized (heigth is bigger for about 2 pixels)


------ TG: 8/25/08
The border vanishing reproduces only occurs for me when maximzed now.
Attached is a simple case that reproduces this bug with a TControlBar and a TToolbar.

QC #:

Date Reported:

Area:

52971

10/4/2007

VCL

Description:

Steps:

[QC Short Description]
Setting TUpDown position to zero is ignored

[QC Description]
Setting the value of the Position property of an UpDown control to 0 is sometimes ignored.
QC Entry 52971

Add a Edit box to a form Add an updown control to the form set the Associated property of the UpDown control to the edit box Add a button to the form Add the code 'updown1.position := 0;' to the OnClick event of the button Run the application. enter a non-zero value into the edit box using the keyboard. Click the button - The value does not change. Change the value using the updown control Click the button - The value is changed to zero.

QC #:

Date Reported:

Area:

29073

5/13/2006

VCL

Description:

Steps:

[QC Short Description]
Add mbClose to MessageDlg (needed for Vista UI Guidelines)

[QC Description]
It should be possible to display an OK button in a Message Dialog.

In Windows Vista User Experience Guidelines it says:

"Don t use OK buttons for errors or warnings. Problems are never OK. Use Close instead."

There is no mbClose in TMsgDlgBtn so I suggest that it be added.

More Info:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/UxGuide/UXGuide/Windows/DialogBoxes/DialogBoxes.asp
(Search for "Use Close instead" on that page)
QC Entry 29073

MessageDlg('Network is unavailable.', mtError, [mbClose], -1);

QC #:

Date Reported:

Area:

39743

2/1/2007

VCL

Description:

Steps:

[QC Short Description]
Update TTokenInformationClass in Windows.pas

[QC Description]
The TTokenInformationClass in Windows.pas needs an update to match the new enum values added for Windows Vista. There are a lot of new information classes, and most of them also need added types for the token data.

Why it this needed so bad?
In order to be able to check if a process is elevated in the Vista UAC you need to check the new information classes "TokenElevationType" and "TokenElevation".

Windows.pas should contain the following declarations.

TTokenInformationClass = (
TokenUser = 1,
TokenGroups,
TokenPrivileges,
TokenOwner,
TokenPrimaryGroup,
TokenDefaultDacl,
TokenSource,
TokenType,
TokenImpersonationLevel,
TokenStatistics,
TokenRestrictedSids, //<- New ones from here
TokenSessionId,
TokenGroupsAndPrivileges,
TokenSessionReference,
TokenSandBoxInert,
TokenAuditPolicy,
TokenOrigin,
TokenElevationType,
TokenLinkedToken,
TokenElevation,
TokenHasRestrictions,
TokenAccessInformation,
TokenVirtualizationAllowed,
TokenVirtualizationEnabled,
TokenIntegrityLevel,
TokenUIAccess,
TokenMandatoryPolicy,
TokenLogonSid,
vMaxTokenInfoClass
);
{$EXTERNALSYM TTokenInformationClass}

TTokenElevetionType = (
TokenElevetionTypeDefault = 1,
TokenElevationTypeFull,
TokenElevationTypeLimited
);
PTokenElevetionType = ^TTokenElevetionType;

_TOKEN_ELEVATION = packed record
TokenIsElevated : DWord;
end;
TTokenElevation = _TOKEN_ELEVATION;
PTokenElevation = ^TTokenElevation;

Note that more class token declarations needs to be added for all the other new information classes. I have however only focused on the parts needed for Vistas UAC and Elevation check.
QC Entry 39743

Windows.pas contains the following setup for TTokenInformationClass: TTokenInformationClass = (TokenICPad, TokenUser, TokenGroups, TokenPrivileges, TokenOwner, TokenPrimaryGroup, TokenDefaultDacl, TokenSource, TokenType, TokenImpersonationLevel, TokenStatistics); {$EXTERNALSYM TTokenInformationClass} The updated code should look like this: TTokenInformationClass = ( TokenUser = 1, TokenGroups, TokenPrivileges, TokenOwner, TokenPrimaryGroup, TokenDefaultDacl, TokenSource, TokenType, TokenImpersonationLevel, TokenStatistics, TokenRestrictedSids, TokenSessionId, TokenGroupsAndPrivileges, TokenSessionReference, TokenSandBoxInert, TokenAuditPolicy, TokenOrigin, TokenElevationType, TokenLinkedToken, TokenElevation, TokenHasRestrictions, TokenAccessInformation, TokenVirtualizationAllowed, TokenVirtualizationEnabled, TokenIntegrityLevel, TokenUIAccess, TokenMandatoryPolicy, TokenLogonSid, vMaxTokenInfoClass ); {$EXTERNALSYM TTokenInformationClass}

QC #:

Date Reported:

Area:

26909

4/2/2006

VCL

Description:

Steps:

[QC Short Description]
Provide an overload for RoundRect that has a TRect parameter

[QC Description]
Consider providing an overload to the RoundRect method on theTCanvas class that accepts a TRect parameter.

Possible declaration
procedure RoundRect(const aRect: TRect; const aCX, aCY: Integer);

where aCX and aCY parameters are the curve for the corners.
QC Entry 26909

QC #:

Date Reported:

Area:

53424

10/14/2007

VCL

Description:

Steps:

[QC Short Description]
Assigning to TStringList.Capacity can raise AV or corrupt memory

[QC Description]
If you're not careful, assigning to TStringList.Capacity can cause an access violation, or in worse cases, memory corruption.

Unlike TList.SetCapacity, TStringList.SetCapacity does not verify that the requested capacity is >= the current Count.
In addition, it does not verify that the requested capacity is <= MaxListSize, which can lead to an integer overflow on the ReallocMem line.

To fix both of these problems, TStringList.SetCapacity should be changed to read as follows:

procedure TStringList.SetCapacity(NewCapacity: Integer);
begin
if (NewCapacity < FCount) or (NewCapacity > MaxListSize) then
Error(@SListCapacityError, NewCapacity);
if NewCapacity <> FCapacity then
begin
ReallocMem(FList, NewCapacity * SizeOf(TStringItem));
FCapacity := NewCapacity;
end;
end;

(I simply copied & pasted the relevant lines from TList.SetCapacity.)
QC Entry 53424

1. To reproduce the first problem, run: var SL: TStringList; begin SL := TStringList.Create; SL.Add('test'); SL.Capacity := 0; if SL[0] = 'test' then // crashes with access violation here -- bad Beep; end; 2. To reproduce the second problem (integer overflow on ReallocMem line), run: var SL: TStringList; begin SL := TStringList.Create; SL.Capacity := $40000000; // should raise exception, but doesn't! SL.Add('testing'); // crashes with access violation here -- bad end; The results are better when we test with TList: var L: TList; begin L := TList.Create; L.Add(nil); L.Capacity := 0; // "List capacity out of bounds" exception -- good if L[0] = nil then Beep; end; var L: TList; begin L := TList.Create; L.Capacity := $40000000; // "List capacity out of bounds" exception -- good L.Add(nil); end;

QC #:

Date Reported:

Area:

955

4/22/2002

VCL

Description:

Steps:

[QC Short Description]
Native PNG image support

[QC Description]
Would sure be nice to support PNG images out of the box.
QC Entry 955

QC #:

Date Reported:

Area:

25811

3/7/2006

VCL

Description:

Steps:

*QA update, this is not just adoQuery.SQL, any TWideStrings load from file will cause this.*

[QC Short Description]
ADOQuery.SQL.LoadFromFile() corrupts text file contents

[QC Description]
When ADOQuery.SQL.LoadFromFile() is used, it incorrectly loads the Text and turns into trash.
QC Entry 25811

1) Create an application with a TAdoQuery
2) Create a text file with a simple SQL statement like "Select * From Customers"
3) Run the app and load the text file using ADOQuery.SQL.LoadFromFile('SQL.txt') and then examine the contents of the SQL.

My results:

'SELECT * FROM customers'

was turned into:

'???'#$2A20'???????sM customers'


/--- OR --/
wStrs := TWideStrings.Create;
wStrs .LoadFromFile( 'file.txt' );

QC #:

Date Reported:

Area:

23607

1/16/2006

VCL

Description:

Steps:

[QC Short Description]
HTML Help: keywords don't work

[QC Description]
The keywords of the new introduced HTML help don't work. The help calls the file specified but doesn't open the right keyword.
QC Entry 23607

1. build some simple app. with a text edit who should get a help topic
2. set the helptype property of the edit to htKeyword
3. set helpkeyword to the word 'foo' or 'bar' or 'baz'
4. set under form helpfile a valid html-helpfile (chm format) with the keyword 'foo' or 'bar' or 'baz' included
5. under uses in the program add HTMLHelpViever
6. compile and run it
7. go to the edit and press F1

The right file will be opened, but the topic is not called.

CWhite : I have added a project that duplicates this bug. Just simply open it and press F1 on the edit.

QC #:

Date Reported:

Area:

55759

12/10/2007