[All]
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 "'", "<", ">", "&") instead of the chars the represent.
see steps QC Entry 51500 |
- open the (german) Highlander help - search for "'" - 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 'const'." - 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 |
| |