Delphi 2007 - List of Fixed QC Reports in Update 3

By: Chris Pattinson

Abstract: Over 100 fixes to QC reports to the Delphi personality as part of the RAD Studio 2007 release

September 10, 2007

By Chris Pattinson, CodeGear QA Manager

Over 500 fixes were made in the Delphi 2007 personality of the RAD Studio 2007 product. These fixes are made available to Delphi 2007 users as part of Update 3.

The following document summarizes (alphabetically, by area) 115 fixes that were made to issues reported in Quality Central.

Area

Documentation

Description:

[QC Short Description]
no help for several DBExpress components

[QC Description]
There is no help for several of the DbExpress components.

These include:
TSqlMonitor
TSqlQuery
TSqlStoredProc
TSqlTable

These have help for some of the properties/methods:
TSqlDataset
TSqlDataLink
TSqlConnection

QC Entry 49503

Area

Documentation

Description:

[QC Short Description]
Missing documentation in D2007

[QC Description]
1) I've searched for "blockwrite" in help of D2007 pressing F1 key on reserved word blockwrite.
I've obtained a "No help found for context." message.

2) In addition, I've searched for "blockwrite " directly in the Help: I found finally the item
"system.blockwrite": but there is only the description but is missing the syntax !
QC Entry 45163

Area

Documentation

Description:

[QC Short Description]
Documentation is not fully translated

[QC Description]
(Spacely installed in french)
Open the help, expand the RAD Studio and then Rad Studio (Win32)

This will display some french topic mixed with englsih one.


RAD Studio
+ RAD Studio (Win32)
Developing COM-based Applications
Component Writer's Guide
Writting Internet Applications
and so on..

When expanding Englsih topics, subtopics are in french.
QC Entry 46263

Area

Documentation\Online Help

Description:

[short description]
SysUtils.DirectoryExists incorrect description

[full description]
he help topic for the SysUtils.DirectoryExists function references to a certain Name parameter, which does not make sense. This happens two times in the description.

ms-help://borland.bds5/bds5win32api_win32/html/DelphiWin32_SysUtilsDirectoryExistsRoutine.htm

Area

Documentation\Online Help

Description:

[QC Short Description]
Delphi 32 (Common) contains too many items in it (around 1000).

[QC Description]
In other words just about 5 nodes under Delphi 32 (Common) have subnodes.
All other items doesn't have subnodes. For example in node Delphi 32 for
Win32 all nodes has subnodes and many of these subnodes has subnodes as
well. it is really hard to find something
QC Entry 42011

Area

Documentation\Online Help

Description:

[QC Short Description]
A disused thing is included in explanation of TCommonCalender.BoldDays

[QC Description]
[ms-help://borland.bds5/delphivclwin32/ComCtrls_TCommonCalendar_BoldDays.html]

BoldDay method does not have Days_Size Parameter.
Please see attached image.
QC Entry 48557

Area

Documentation\Online Help\Component writers guide

Description:

[QC Short Description]
Help for .dcr refers to image editor

[QC Description]
The help topic "Creating a Bitmap for a Component" describes using ImageEditor to create .dcr -- but ImageEditor is no longer shipped.
QC Entry 49488

Area

Documentation\Online Help\VCL

Description:

[short description]
TCustomIniFile Class doesn't have link to TRegistryIniFile.


[full description]
The online help for TCustomIniFile Class doesn't have link to TRegistryIniFile. Although TRegistryIniFile is mentioned, the user should be able to click on it and go to the help for TRegistryIniFile.

There is also a typo in the following sentence "Do not create instances of TCustomIniFile. Instead, use or create descendants of TCustomIniFile, such as TIniFile , TRegistryIniFile, and TMemIniFile ." The typo is that there should not be a space before the final period.

Area

Documentation\Online Help\VCL

Description:

[QC Short Description]
TDateTimePicker.Format Help does not list available format characters.

[QC Description]
The online help for the above component property does not list the possible characters that can be used in format strings, and their meanings.

This is particularly important because these format strings are NOT compatible with the "usual" date/time formats used by the rest of the RTL. See report 37991 for an example of the errors this introduces.


QC Entry 39570

Area

Documentation\Online Help\VCL

Description:

[QC Short Description]
TStringList members documentation unuseable

[QC Description]
The documentation for nearly all members of the TStringList class is unuseable since it always contains the same sentence stating that this is a member of the TStringList class but not saying what the purpose of this member is.
QC Entry 48528

Area

Documentation\Online Help\VCL

Description:

[QC Short Description]
"Runtime" and "Design time" are swapped in explanation of TPageControl.Pages property in the German help file.

[QC Description]
In the help for TPageControl.Pages, the explanation of how to add a TTabSheet element to a TPageControl has the phrases "at runtime" and "at design time" intermixed. The explanation given for "at runtime" is actually the one for "at design time", and vice versa. This applies to the Delphi VCL for Win32, C++Builde for Win32, and Delphi .NET VCL help topics.
QC Entry 32913


English Text for Reference:
Pages is a read-only property. To add a tab sheet to a page control at design time, right click and select New Page. To add a tab sheet to a page control at runtime, create the tab sheet and set its PageControl property to the page control.

Area

Documentation\Online Help\VCL

Description:

[QC Short Description]
TListView.GetTopItem documentation incorrect.

[QC Description]
The topic for TListView.GetTopItem states:

"You can also scroll the view by setting TopItem."

However, the TopItem property is read-only.

One way to scroll the list would be to call the TTreeNode.MakeVisible method of one of the nodes in the list.
QC Entry 39511

Area

Documentation\Online Help\VCL

Description:

[QC Short Description]
TPenStyle not fully documented.

[QC Description]
The documentation for TPenStyle is incomplete. The description does not explain what psUserStyle and psAlternate mean.
QC Entry 34653

Area

Documentation\Online Help\VCL

Description:

[QC Short Description]
Missing help for TShellresources

[QC Description]
Help does not contain the TShellresources
QC Entry 48558

Area

Documentation\Online Help\Main help

Description:

[QC Short Description]
Typos/errors in Help for TSysLocale, TSystemTime, TSysCharSet

[QC Description]
There are some typos and errors in the Help for TSysLocale, TSystemTime, TSysCharSet. See Steps.
QC Entry 34966

Area

Documentation\Online Help\Main help

Description:

[short description]
Several grammatical errors in German help describing Code Insight

[full description]
The help for the Tools/Options dialog, Code Insight page, has several bad grammatical glitches/typos, especially with features describing new BDS 2006 features. These are:

1. Programmierhilfe: Klammern autom.


F gt automatisch Klammen in Funktionsaufrufe ein, wenn Sie die Code-Vervollst ndigung zulassen.

"Klammen" should be "Klammern". Typo.

2. Quelltext-Template-Vervollst ndigung


F gt ein Code-Template automatically ein, wenn Sie ein Token eingeben, das mit einem Template beginng und TAB dr cken.

Bad wording, sentence incomplete, and the word "automatically" is not translated. Suggested text:
"Quelltext-Template-Vervollst ndigung


F gt automatisch ein Code-Template ein, wenn Sie einen Bezeichner eingeben, der dem Namen eines Templates entspricht, und TAB dr cken."

3. Templates auto-vervollst ndigen


Ruft die Quelltext-Template-Vervollst ndigung auf, wenn Sie nach der Eingabe einer vorhandenen Quelltext-Template die Leertaste dr cken. Wenn Sie diese
Option nicht aktiv ist, m ssen Sie TAB dr cken, um die Template-Vervollst ndigung aufzurufen, nachdem Sie den Template-Namen eingegeben haben.

several minor grammatical errors, should read:

"Templates auto-vervollst ndigen


Ruft die Quelltext-Template-Vervollst ndigung auf, wenn Sie nach der Eingabe des Namens eines vorhandenen Quelltext-Templates die Leertaste dr cken. Wenn diese
Option nicht aktiv ist, m ssen Sie TAB dr cken, um die Template-Vervollst ndigung aufzurufen, nachdem Sie den Template-Namen eingegeben haben."

4. Template-Hinweise


Aktiviert die Template-Hinweise. Template-Hinweise erscheinen, wenn Sie ein Template in den Quelltext-Editor eingf gt und zwischen den vordefinierten Cursorpositionen
im Template mit der Taste Tab bl ttern.

Again several grammatical glitches. Should read:

"Template-Hinweise


Aktiviert die Template-Hinweise. Template-Hinweise erscheinen, wenn Sie ein

Area

Documentation\Online Help\Main help

Description:

[short description]
WriteDouble not documented


[full description]
procedure TWriter.WriteDouble(const Value: Double); is not being documented

Area

Documentation\Online Help\Main help

Description:

[QC Short Description]
Editing resource files in the Translation Manager

[QC Description]
In Delphi 2007 help:


Delphi 2007 for Win32 -> Delphi 2007 (Common) -> Procedures -> Compiling and building Projects -> Editing Resource Files in the Translation Manager


It looks like the just have a help file template containing writing style tips, nothing to do with editing resource files.


QC Entry 44716

Area

Documentation\Online Help\Main help

Description:

[QC Short Description]
Document all the keyboard shortcuts

[QC Description]
The documentation for IDE keyboard shortcuts (ms-help://borland.bds4/bds4ref/html/KeyMappingsDefault.htm), in the Delphi 2006 help at least, is woefully incomplete.

Here's a list of some of the keystrokes that are not documented. (Obviously, I don't know if this is all of them.) Some I know about from my own experience, others I read about on http://dn.codegear.com/article/33805 or http://www.stevetrefethen.com/wiki/Keybinding%20Information.ashx. This list does not include any keystrokes that are shown on the menus, since they're not quite as big of a problem -- they're still discoverable even when they're not documented.

Alt+F7 (go to previous error / message in message view)
Alt+F8 (go to next error / message in message view)
Alt+Left (go back after Alt+Up or Ctrl+click)
Alt+Right (go forward after Alt+Left)
Alt+Up (go to declaration)
Ctrl+Alt+F12 (drop down the list of open files)
Ctrl+Click (go to declaration)
Ctrl+K T (select word)
Ctrl+O L (turn on line blocking mode)
Ctrl+Q # (go to bookmark) (Ctrl+# is documented)
Ctrl+Shift+# (set bookmark) (Ctrl+K # is documented)
Ctrl+Shift+B (buffer list)
Ctrl+Shift+Down (jump between declaration and implementation)
Ctrl+Shift+Enter (find usages)
Ctrl+Shift+J (SyncEdit)
Ctrl+Shift+T (create Todo entry)
Ctrl+Shift+Up (jump between declaration and implementation)
Ctrl+Shift+W (find unit -- documented in DN article, but doesn't appear to work)
QC Entry 44790

Area

Documentation\OpenHelp

Description:

[QC Short Description]
Wrong example in the Help.

[QC Description]
This is in the "Hiding and showing navigator buttons at runtime" example:

DBNavigatorAll->VisibleButtons = TButtonSet() << nbFirst << nbPrior << nbNext << nbLast;
QC Entry 42750

5/3/07: Uncommented description of C++ example to give better idea of what it is doing. Changed code sample to be more correct.
--Gary Staas

Area

Documentation\IDE Help Contexts

Description:

[QC Short Description]
Transactional Data Module Wizard missing

[QC Description]
Help about TMtsDataModule mentions a wizards that is not in the product.

ms-help://borland.bds5/bds5win32api_win32/html/DelphiWin32_MtsRdmTMtsDataModuleClass.htm

One solution to this problem could be to bring the wizard back. See QC 12993.
QC Entry 39632

Area

Documentation\IDE Help Contexts

Description:

[QC Short Description]
MTS Automation wizard is missing

[QC Description]
Help about TMtsAutoObject mentions a wizard that is not in the product.

ms-help://borland.bds5/bds5win32api_win32/html/DelphiWin32_MtsobjTMtsAutoObjectClass.htm

One solution to this problem could be to bring the wizard back. See QC 12993.
QC Entry 39633

Area

Documentation\IDE Help Contexts

Description:

[QC Short Description]
Suggested "See also" for Round

[QC Description]
I suggest the Round routine should have RoundTo included in its See Also list.

QC Entry 31251

Area

IDE

Description:

[QC Short Description]
Display problems in Tools -> Options dialog (german version)

[QC Description]
There are some display problems in the german version for the Tools -> Options dialog:

Tool-Palette:
The captions for
"Schaltfl chengr e"
"Kategorien automatisch ausblenden"
"Neuandordnung der Palette sperren"
"Designer-Elemente immer anzeigen"
are cut.

Farben:
most of the labels are not aligned correctly.

Quelloptionen:
The labels for "Einr ckung" and "Tabstops" are not aligned correctly.

Code-Insight:
The label for "Typ der Quelltextdatei" is cut.

Codegear-Debugger:
The labels
"Seiteneffekte in neuen Ausdr cken"
"Nicht-Benutzer-Haltepunkte ignorieren"
"Inspektor immer im Vordergrund"
are cut
QC Entry 41733

Area

IDE

Description:

[QC Short Description]
File browser: "Borland Developer Studio" instead of "CodeGear RAD Studio" in popup menu in german version

[QC Description]
In the popup menu of the file browser the caption of the item on top is "Mit Borland Developer Studio oeffnen" instead of "Mit CodeGear RAD Studio oeffnen" in the german version. In the english version the caption is "Open with CodeGear RAD Studio".

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

Area

IDE

Description:

[QC Short Description]
File browser\Filter dialog: Bad translation of "delimited" in german version

[QC Description]
In the filter dialog of the file browser the translation of "Enter semi-colon delimited file mask(s):" with "Durch Semikolon begrenzte Dateimaske(n) eingeben:" in the german version is not that good. Instead of "begrenzte" rather "getrennte" should be used to translate "delimited". That means the translation should be "Durch Semikolon getrennte Dateimaske(n) eingeben:"

I've added an image.
QC Entry 49039

Area

IDE

Description:

[QC Short Description]
Wrong (empty) icons for "Testprojekt" and "Testfall" in german version

[QC Description]
The icons for "Testprojekt" and "Testfall" (in english "Test Project" and "Test Case") in the tool palette and the object gallery are wrong. They are sometimes empty and sometimes it is the package icon.
(images of this issue are in the .PDF in the attachment)

Additional information:
- ESD version downloaded on 2007/03/21
- Professional Edition
QC Entry 44585

Area

IDE

Description:

[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

Area

IDE\Project Management\Project Manager

Description:

[QC Short Description]
Multiselect in project manager does not work anymore in the german version

[QC Description]
The multiselect feature in the project manager does not work anymore in the german version - IIRC it worked in D2007 RTM. If I remove the german localization files (*.de) then it works as expected.
QC Entry 49026

Area

IDE\Tool Palette

Description:

[QC Short Description]
CTRL+ALT+P does not work under IDE classic speedsetting

[QC Description]
CTRL+ALT+P shortcut does not focus tool palette under IDE classic speedsetting. There does not appear to be an alternative shortcut under classic speedsetting either.
QC Entry 23740

Area

IDE\Form Designer

Description:

[QC Short Description]
Main menu rendered incorrectly

[QC Description]
The form designer seems to have some painting issues with the TMainMenu component.

Both the position and size of the actually painted area seems to be dependent on the form BorderStyle, but none of the cases paints the area covered by the menu correctly.
bsToolWindow and bsSizeToolWin are the most obvious - See screenshot (the red color is just to illustrate the problem).

OS is XPSP2.
QC Entry 46200

Area

IDE\Form Designer

Description:

[QC Short Description]
Deleting a toolbutton design-time causes AV

[QC Description]
Deleting a toolbutton design-time causes an access violation in ntdll.dll.

This is likely related to QC 42333 and might be related to QC 46470, although the second report deals with run-time AVs.
QC Entry 46471


stack trace in attachments.

Area

IDE\Form Designer

Description:

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

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

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

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

Area

IDE\Form Designer

Description:

[QC Short Description]
Selection error with non-visual component in a frame

[QC Description]
When designing a form which contains a frame which in turn contains a non-visual component, selecting that non-visual component in the Structure Panel or using the dropdown list of Object Inspector, the selection handles are drawn at the wrong place.
QC Entry 37106

Area

IDE\Object Inspector

Description:

[QC Short Description]
Category name for "Drag Drop/Docking" is "Drag&&Drop" in german version

[QC Description]
The category for the properties

DockSite
DragKind
DragMode

and so on is "Drag&&Drop" for Delphi for Win32 & C++Builder projects in build 2748 in the german version.
It is "Drag Drop/Docking" for Delphi for Win32 & C++Builder projects in build 2748 in the english version.

In D2007 Update 1 it is "Drag Drop/Docking" in the english version and "Drag-Drop/Docking" in german version.
For Delphi for .NET projects this is "Drag, Drop and Docking" (english version) and "Drag, Drop und Docking" (german version).
QC Entry 49509

Area

IDE\Menu Designer

Description:

[QC Short Description]
Form Height increases when Menu Designer opened

[QC Description]
Every time D2007 is started and an existing TMainMenu's menu designer is opened, the height of the form is increased by 19 pixels.

Using Classic Undocked IDE.
QC Entry 49475

Area

IDE\Toolbars/Status Line

Description:

[QC Short Description]
Wrong entry in the toolbar customize dialog (german version)

[QC Description]
In the customize dialog for the toolbar there are two entries "Project" and "Projekt".
It seems there is one entry which was not translated correctly.
QC Entry 41730

Area

IDE\Repository

Description:

[QC Short Description]
Add template library: Wrong filename filter in german version

[QC Description]
In the filename dialog that is used to add a new template library the file type fileter ist set to "XML Dateien (*.xml)" in the german version.

Hoever since a few versions the template library files are using the extension "*.bdstemplatelib" so thy are not visible in that file dialog until it is switched to "*.*"
QC Entry 51063

Area

IDE\Code Completion

Description:

[QC Short Description]
Underscore clears CodeInsight list

[QC Description]
When typing "FILE" and pressing Ctrl+Space the available symbols that start with "FILE" are shown. When now typing an underscore the list becomes empty. Typing further "FILE_AT" the list is still empty but when I now use the backspace key the list is filled with all the FILE_ATTRIBUTE_* constants.
QC Entry 35158

Area

IDE\Startup/Shutdown

Description:

[QC Short Description]
"Too much" installed products and plugins does destroy the CodeGear logo on the splash screen

[QC Description]
If you have more than 5 products + plugins installed which use IOTASplashScreenServices.Add*Bitmap than the CodeGear logo on the splash will be destroyed when the 6. or more product / plugin is loaded.

I've attached an image which shows the Highlander splashscreen with JVCS, JCL and JVCL installed.
QC Entry 49253

Area

IDE\Startup/Shutdown

Description:

[QC Short Description]
Error on shutdown in Vista 64 bit

[QC Description]
When RAD Studio is shut down in Vista 32 and 64 bit, an error window opens warning that it did not shut down properly.

This occurs whether or not a project is open.

Full install, Vista 64 with all known updates. Athlon 1.8GHz, 3GB RAM.
QC Entry 49182

Area

IDE\Startup/Shutdown

Description:

[QC Short Description]
access violation on every shutdown of IDE in VIsta (x64)

QC Entry 50112

Area

IDE\Startup/Shutdown

Description:

[QC Short Description]
Shutdown causes AVs

[QC Description]
I have just reported #50393.

And when I shutdown the IDE after reproducing #50393, I get several AVs.
QC Entry 50394

Area

IDE\Class Completion

Description:

[QC Short Description]
AV invoking class completion after closing an unsaved unit

[QC Description]
If you've created a unit or test unit and then closed it without saving, class completion causes an AV. (Stack trace attached)
QC Entry 46928

Area

IDE\Packages

Description:

[QC Short Description]
Res filename in DPK source corrupted

[QC Description]
The name of a res file in a DPK source is corrupted when not surrounded by single quotes.

In the attached example the line

{$R SomeResourceFile.res}

will become

{$R 'omeResourceFil'}

when opened by D2007.

// Francois Piette
I can reproduce with 2608
QC Entry 40872

// Francois Piette
Probably same case as report 238305

// Francois Piette
Problem still in 2671 (btw: Delphi 7 doesn't have this problem).
Still in 2701.
Still in 2726

Area

IDE\Packages\Installing Components

Description:

[QC Short Description]
Published Class property leads to AV

[QC Description]
Adding a Class property to the published section of a component leads to an AV when the component is used. Although I think it makes no sense to do this, presumably either the compiler or the Typinfo library should be able to cope with this error.
QC Entry 30037


(JJS: This may wind up being a compiler/rtl issue but it manifests through component installation in the IDE)

Stack Trace in comments.

Area

IDE\Packages\Package Manager

Description:

[QC Short Description]
AV Recompiling installed packages

[QC Description]
Attached is a sample project group showing the problem. Follow the steps to get the following AV:


Access violation at address 2003178E in module 'rtl100.bpl'. Read of address 00000008.
QC Entry 50595

Area

IDE\Help

Description:

[Short Description]
Topic 'TStringList.IndexOf Methode'

[Description]
In the German version of the Online Help in the topic 'TStringList.IndexOf Methode' there is an error:

"Wenn S der zweite String in der Liste ist, wird -1 zur ckgegeben"

It should be instead: "Wenn S der zweite String in der Liste ist, wird 1 zur ckgegeben"

Area

IDE\Build Tools

Description:

[QC Short Description]
msbuild shows no errors/warnings/hints of dcc32

[QC Description]
Hello,
there are diffenence between build in IDE and build on comandline.
If I build an program in the IDE, prebuild events are triggert, the project
compiles and post events are triggert.
If dcc32 reports an error/warning/hint, this messages are shown in the IDE.

If you compile a project with msbuild from commandline no
erroes/warnings/hints were printed.

btw: I use the german version (Delphi 2007 for Win32 with Update 1)

Example:
> B:\tools\Borland\BuildServerTest\Source>msbuild
> Microsoft (R)-Buildmodul, Version 2.0.50727.42
> [Microsoft .NET Framework, Version 2.0.50727.42]
> Copyright (C) Microsoft Corporation 2005. Alle Rechte vorbehalten.
>
> Der Buildvorgang wurde um 11.07.2007 11:28:58 gestartet.
> __________________________________________________
> Projekt B:\tools\Borland\BuildServerTest\Source\BuildServerTest.dproj
> (Standardziele):
>
> CoreCompile-Ziel:
> C:\Programme\CodeGear\RAD
> Studio\5.0\bin\dcc32.exe -B -DDEBUG -I;B:\shared\Delphi... --no-config
> BuildServerTest.dpr
>
> Der Buildvorgang war erfolgreich.
> 0 Warnung(en)
> 0 Fehler
>
> Vergangene Zeit 00:00:24.11
>

If no error comes up all is OK !!!

But if there is an error:

> B:\tools\Borland\BuildServerTest\Source>msbuild
> Microsoft (R)-Buildmodul, Version 2.0.50727.42
> [Microsoft .NET Framework, Version 2.0.50727.42]
> Copyright (C) Microsoft Corporation 2005. Alle Rechte vorbehalten.
>
> Der Buildvorgang wurde um 11.07.2007 11:33:25 gestartet.
> __________________________________________________
> Projekt B:\tools\Borland\BuildServerTest\Source\BuildServerTest.dproj
> (Standardziele):
>
> CoreCompile-Ziel:
> C:\Programme\CodeGear\RAD
> Studio\5.0\bin\dcc32.exe -B -DDEBUG -I;B:\shared\Delphi... --no-config
> BuildServerTest.dpr
>
> C:\WINNT\Microsoft.NET\Framework\v2.0.50727\Borland.Delphi.Targets(103,3):
> error MSB6006: "dcc" wurde mit Code 1 beendet.
> Erstellen des CoreCompile-Ziels in Projekt BuildServerTest.dproj beendet -
> Fehler beim Erstellen.
>
> Erstellen des Projekts BuildServerTest.dproj beendet - Fehler beim
> Erstellen.
>
> Fehler beim Buildvorgang.
> C:\WINNT\Microsoft.NET\Framework\v2.0.50727\Borland.Delphi.Targets(103,3):
> error MSB6006: "dcc" wurde mit Code 1 beendet.
> 0 Warnung(en)
> 1 Fehler
>
> Vergangene Zeit 00:00:10.92
>

msbuild gives only the information: (translated to english)
C:\WINNT\Microsoft.NET\Framework\v2.0.50727\Borland.Delphi.Targets(103,3):
error MSB6006: "dcc" ended whith Code 1
Creating of core compile target in project BuildServerTest.dproj ended -
Error on create.

But what is the error?
The IDE prints all information.

If you execute dcc32 direct from comandline (without msbuild) there is the
error message:

> B:\tools\Borland\BuildServerTest\Source>"C:\Programme\CodeGear\RAD
> Studio\5.0\bin\dcc32.exe" -B -DDEBUG -I;B:\shared\Delphi... --no-config
> BuildServerTest.dpr
> CodeGear Delphi f r Win32 Compiler-Version 18.5
> Copyright (c) 1983,2007 CodeGear
> u_main.pas(79) Fehler: E2003 Undefinierter Bezeichner: 'ok'
> u_main.pas(79) Fehler: E2003 Undefinierter Bezeichner: 'doof'
> u_main.pas(79) Warnung: W1023 Vorzeichenbehaftete und -lose Typen werden
> verglichen - beide Operanden werden erweitert
> u_main.pas(83)
> BuildServerTest.dpr(5) Schwerwiegend: F2063 Verwendete Unit 'u_main.pas'
> kann nicht compiliert werden
>

where is the real Error in line 79 of u_main.pas :-)

> // Syntaxfehler beim Compilieren
> ok := (VisualStudio = doof);

Variables "ok", "VisualStudio" and "doof" are not declared.

I used SysInternals ProcessMon to look what Delphi is doing.

The Delphi IDE does not call msbuild.exe / dcc32.exe
The msbuild output in the IDE is created by Delphi IDE.

I hope you can fix it.

msbuild support without errormessages if something goes wrong is useless.

kind regards
Mark Burgard
QC Entry 48948

Area

IDE\Structure Pane\Error Insight

Description:

[QC Short Description]
Structure pane gets confused with class fields of type procedure

[QC Description]
The structure pane displays wrong information for a class with a field of type procedure.
QC Entry 40765

Area

Install

Description:

[QC Short Description]
IDE is not able to load some package on start up on first run.

[QC Description]
When I was installting Delphi 2007 I unselected all database stuff. After I run Delphi 2007 I see this message:
---------------------------
bds.exe - Unable To Locate Component
---------------------------
This application has failed to start because dcldbx100.bpl was not found. Re-installing the application may fix this problem.
---------------------------
OK
---------------------------
but that file exists
the same bug exists for 11.0.2593.4239
QC Entry 39984

Area

Install

Description:

[QC Short Description]
Installation reports error on BDE_PRO

[QC Description]
This is not a new occurrence, but during installation, the unpacking of files is halted with a report that the installer can't find the BDE_PRO file. Checking the path given, the file indeed is missing.
QC Entry 49183

Area

Install

Description:

[QC Short Description]
Compiling win32 packages fail on Vista 64 non-admin

[QC Description]
On a Vista 64 machine on a non-admin account, Open highlander with all personalities. Follow the attached steps to receive this error:

---------------------------
Error
---------------------------
The imported project "C:\Windows\Microsoft.NET\Framework\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.
---------------------------
OK Details >>
---------------------------
[21E58659]{dotnetcoreide100.bpl} InteropApp.TMSBuildOpenProject.Build (Line 1287, "InteropApp.pas" + 1) + $35
[2000A455]{rtl100.bpl } System.@CheckAutoResult (Line 18047, "sys\system.pas" + 6) + $0
[21E58659]{dotnetcoreide100.bpl} InteropApp.TMSBuildOpenProject.Build (Line 1287, "InteropApp.pas" + 1) + $35
[2164CAF7]{delphicoreide100.bpl} BasePasComIntf.TCompiler.MSBuildCompile (Line 957, "BasePasComIntf.pas" + 16) + $40
[2098C254]{coreide100.bpl} ComPrgrs.TProgressForm.StartCompile (Line 76, "ComPrgrs.pas" + 5) + $C
[2098C90E]{coreide100.bpl} ComPrgrs.TProgressForm.HandleCompileMessage (Line 193, "ComPrgrs.pas" + 0) + $2
[2013C497]{vcl100.bpl } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
[20140617]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
[20159DD7]{vcl100.bpl } Forms.TCustomForm.WndProc (Line 3512, "Forms.pas" + 136) + $5
[2013FD40]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
[20040DD4]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
[201375B2]{vcl100.bpl } Controls.FindControl (Line 2104, "Controls.pas" + 6) + $9
[20162548]{vcl100.bpl } Forms.TApplication.ProcessMessage (Line 8105, "Forms.pas" + 23) + $1
[20162582]{vcl100.bpl } Forms.TApplication.HandleMessage (Line 8124, "Forms.pas" + 1) + $4
[2015E5EB]{vcl100.bpl } Forms.TCustomForm.ShowModal (Line 5822, "Forms.pas" + 29) + $5
[2164C076]{delphicoreide100.bpl} BasePasComIntf.TCompiler.DoCompile (Line 748, "BasePasComIntf.pas" + 41) + $9
[2164C77B]{delphicoreide100.bpl} BasePasComIntf.TCompiler.Compile (Line 875, "BasePasComIntf.pas" + 31) + $7
[216EC53C]{delphicoreide100.bpl} PasNativeCompilerAdapter.TCompilerAdapter.Compile (Line 202, "PasNativeCompilerAdapter.pas" + 12) + $1F
[216EC745]{delphicoreide100.bpl} PasNativeCompilerAdapter.TCompilerAdapter.CompilePackage (Line 249, "PasNativeCompilerAdapter.pas" + 12) + $17
[21663100]{delphicoreide100.bpl} PackageState.CreatePackage (Line 285, "PackageState.pas" + 20) + $19
[2166317C]{delphicoreide100.bpl} PackageState.CreatePackage (Line 296, "PackageState.pas" + 31) + $5
[216631F1]{delphicoreide100.bpl} PackageState.CreatePackage (Line 309, "PackageState.pas" + 44) + $9
[21663B66]{delphicoreide100.bpl} PackageState.TPackageState.Build (Line 480, "PackageState.pas" + 8) + $28
[216A245C]{delphicoreide100.bpl} PasMgr.TPascalPackageCodeUpdater.DoCompile (Line 10910, "PasMgr.pas" + 4) + $11
[216A248B]{delphicoreide100.bpl} PasMgr.TPascalPackageCodeUpdater.DoCompile (Line 10915, "PasMgr.pas" + 9) + $F
[216F0B20]{delphicoreide100.bpl} CommonPasReg.CompileProject (Line 1115, "CommonPasReg.pas" + 16) + $3C
[216A04E3]{delphicoreide100.bpl} PasMgr.TPascalProjectUpdater.CompileProject (Line 10169, "PasMgr.pas" + 2) + $19
[216A23D2]{delphicoreide100.bpl} PasMgr.TPascalPackageCodeUpdater.Build (Line 10901, "PasMgr.pas" + 3) + $11
[216A2852]{delphicoreide100.bpl} PasMgr.TPascalPackageCodeUpdater.CompileProject (Line 11021, "PasMgr.pas" + 15) + $F
[209CD01D]{coreide100.bpl} ProjectGroup.TProjectGroup.CompileContainer (Line 770, "ProjectGroup.pas" + 54) + $14
[209CCA10]{coreide100.bpl} ProjectGroup.TProjectGroup.CompileActive (Line 623, "ProjectGroup.pas" + 1) + $B
[209D374D]{coreide100.bpl} ProjectGroup.TProjectGroupWrapper.CompileActive (Line 2516, "ProjectGroup.pas" + 0) + $5
[209EF2A1]{coreide100.bpl} Containers.TStdProjectContainer.BuildProject (Line 2167, "Containers.pas" + 6) + $D
[209EF2BD]{coreide100.bpl} Containers.TStdProjectContainer.BuildProject (Line 2169, "Containers.pas" + 8) + $9
[209EEC37]{coreide100.bpl} Containers.TStdProjectContainer.CommandHandler (Line 2010, "Containers.pas" + 16) + $7
[21669AAD]{delphicoreide100.bpl} PkgContainers.TStdPackageProjectContainer.CommandHandler (Line 178, "PkgContainers.pas" + 32) + $2
[209F1FA1]{coreide100.bpl} Containers.TStdContainer.CommandHandler (Line 3069, "Containers.pas" + 1) + $17
[20130557]{vcl100.bpl } Menus.TMenuItem.Click (Line 2282, "Menus.pas" + 14) + $8
[20131A7F]{vcl100.bpl } Menus.TMenu.DispatchCommand (Line 3007, "Menus.pas" + 5) + $2
[20132BDE]{vcl100.bpl } Menus.TPopupList.WndProc (Line 3797, "Menus.pas" + 4) + $E
[20031FC4]{rtl100.bpl } Classes.TThreadList.UnlockList (Line 3359, "common\Classes.pas" + 0) + $4
[200EBAA8]{vcl100.bpl } Graphics.FreeMemoryContexts (Line 5060, "Graphics.pas" + 12) + $5
[2013FD40]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
[20132B2D]{vcl100.bpl } Menus.TPopupList.MainWndProc (Line 3778, "Menus.pas" + 2) + $5
[20040DD4]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
[20162548]{vcl100.bpl } Forms.TApplication.ProcessMessage (Line 8105, "Forms.pas" + 23) + $1
[20162582]{vcl100.bpl } Forms.TApplication.HandleMessage (Line 8124, "Forms.pas" + 1) + $4
[20162877]{vcl100.bpl } Forms.TApplication.Run (Line 8223, "Forms.pas" + 20) + $3
[00422976]{bds.exe } bds.bds (Line 195, "" + 7) + $7
QC Entry 50875

Area

Install\User Interface

Description:

[QC Short Description]
Typo in german installer ("Reperatur" instead of "Reparatur")

[QC Description]
On the page in the installer where you can select if the patch cache should be deleted is a typo in the german version. It is "Reperatur" instead of "Reparatur" in the caption of the checkbox as you can see on the attached image.
QC Entry 49248

Area

Install\User Interface

Description:

[QC Short Description]
No visual progress during installation of Help System

[QC Description]
During the installation of the Help System there were no visual feedback neither during the download nor during the actual installation. The first information visible was a message box saying something like "registering help".

People having a slow connection or otherwise slow system might abort the installation as it seems to hang.
QC Entry 50645

Area

Install\Uninstall

Description:

[QC Short Description]
Odd dialog sequence on uninstall

[QC Description]
When uninstalling RAD Studio, you get the attached dialog after selecting to uninstall. It doesn't make sense to select the products to install during the uninstall process.
QC Entry 50413

Area

Install\Registry settings

Description:

[QC Short Description]
Registry entry for "BorlandComponents" wrong

Common Files path is hard coded in the installer.

[QC Description]
The registry entry for
"..BDS\5.0\AssemblyFolders\BorlandComponents"
points to
"C:\Program Files\Common Files\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\"
while the files are actually located at
"c:\Programme\Gemeinsame Dateien\CodeGear Shared\RAD Studio\Shared Assemblies\5.0\"
on my German Windows XP.
QC Entry 50170

Area

Install\Files

Description:

[QC Short Description]
Install starts if h2reg is missing

[QC Description]
The installer is not completely checking for .Net 2 SDK installation. Basically, if (like I did) one does not install the documentation from the SDK, the h2reg utility is not present.
But the installer does not check for this, then goes on to downloading everything, installing many files and then stops complaining it cannot find h2reg when installing the help files.
I think it should check for the presence of h2reg at the beginning instead of letting go.
QC Entry 48969

Area

Install\Files

Description:

[QC Short Description]
Release mode System.pas is compiled with debug symbols

[QC Description]
When I use F7 to step through my programs I always land in the system.pas even if I haven't checked the "Use debug DCUs" checkbox in the project options. All other "release" units are compiled correctly except System.pas. And stepping through all the string and object creation/destruction-functions isn't that nice if you


This only applies to the German localization. The English version of System.pas has no problem. But the German installer installs the same file into lib\ and lib\debug\
QC Entry 43269

Area

Install\Files

Description:

[QC Short Description]
Installer doesn't install latest version at first

QC Entry 49169

Area

Install\Sanctuary/Registration Server

Description:

[QC Short Description]
The name of "RAD Studio" is BDS 2007 in the registration wizard

[QC Description]
The name of "RAD Studio" is BDS 2007 in the registration wizard.

I've attached an image.
QC Entry 50922

Area

Database\TField\TNumericField\TBCDField

Description:

[QC Short Description]
Exception when formatting BCD numbers

[QC Description]
There is an obvious bug in the function BcdFixedOrNumberFormat (Unit FMTBcd):

function BcdFixedOrNumberFormat(const Start: string; Format: TFloatFormat; const Precision, Digits: Integer): string;
...
begin
...
if Start[1] = '-' then
begin
Inc(BufPos); // current char is ok
Inc(P);
if AddCommaDigits > 0 then
Dec(AddCommaDigits);
end;
...

If an empty string is passed as parameter "Start", the expression "Start[1]" causes an access violation.

QC Entry 50615

Area

Database\Database Tools\SQL Builder

Description:

[QC Short Description]
SQL Query builder is broken

[QC Description]
Start H2
Create a new win32 vcl application
Put a TQuery on the form
Right click the TQuery and select query builder

Exp : the query builder form should display
Act : an exception is raised
Workarround : none

Additional notes : I'm getting an runtime 217 when closing the IDE


Exception raised at $76FDB09E. Exception class EOleSysError with message 'Class not registered'. Process bds.exe (2836)


:76fdb09e kernel32.RaiseException + 0x58
:1edfb101 ; C:\Program Files\CodeGear\RAD Studio\5.0\bin\SQLB.DLL
:1ee12941 ; C:\Program Files\CodeGear\RAD Studio\5.0\bin\SQLB.DLL
:1ee10ea1 ; C:\Program Files\CodeGear\RAD Studio\5.0\bin\SQLB.DLL
:1eda6913 ; C:\Program Files\CodeGear\RAD Studio\5.0\bin\SQLB.DLL
:1eda663b ; C:\Program Files\CodeGear\RAD Studio\5.0\bin\SQLB.DLL
:1edacb58 ; C:\Program Files\CodeGear\RAD Studio\5.0\bin\SQLB.DLL
:1ee1072e SQLB.launchModal + 0xc2
:22789f75 BuildQuery + $85
:2278cd78 TQueryEditor.ExecuteVerb + $98
:060b9051 TVclDesignSurface.ComponentVerb + $51
:20130539 TMenuItem.Click + $AD
:20132b0c TPopupList.MainWndProc + $20
:20040dd6 StdWndProc + $16
:767f1a10 USER32.GetMessageW + 0x6e
:767f1ae8 ; C:\Windows\system32\USER32.dll
:767f2a47 ; C:\Windows\system32\USER32.dll
:767e3c8a USER32.DispatchMessageA + 0xf
QC Entry 50460

Area

Database\DBExpress

Description:

dbxmss30.dll will raise AV when a master record is deleted from table and there is detail record linked. The appropiate constraint error is displayed, however it is followed by AV's.

[QC Short Description]
Error using DBExpress and MSDE - Access violation dbxmss30.dll


[QC Description]
When using command SQL: "DELETE FROM TABLE WHERE ID = 1" and exists a FOREIGN KEY in others tables the application report a error.
QC Entry 28916

Area

Database\DBExpress\TSQLQuery

Description:

[QC Short Description]
TSQLQuery is truncating the last character in resultset with Oracle characters

[QC Description]
This problem was discovered based on a select going against an oracle table with a column defined of CHAR(1). The result for this column in the query was blank. The actual result should be 'Y'. The problem is easily recreated by just selecting from dual in oracle. This was tested on both Oracle 8 and Oracle 9.

exp: select 'Y' from DUAL should return 'Y'
act: select 'Y' from DUAL returns ''

exp: select 'YES' from DUAL should return 'YES'
act: select 'YES' from DUAL returns 'YE'

This is very bad as my program is choosing to modifying things based on the return value which is wrong. The value in the DB does not match the result of the query!

Running the same queries above in a SQL Window from Data Explorer gives the same results.
QC Entry 42236

Area

Database\Data Explorer

Description:

[QC Short Description]
The failure message displayed when hitting the test connection button in the data explorer window isn't as helpful as it could be

QC Entry 42628

Area

Database\Data Explorer

Description:

[QC Short Description]
Error changing DB connections after using standalone Database Explorer

[QC Description]
I cannot make a change to database connections in the IDE Data Explorer if changes have been made in the stand-alone Data Explorer. Any attempts to do so are met with 'The configuration file has been changed by another program. (D:\Program Files\CodeGear\RAD Studio\5.0\bin\DataExplore.exe.config)'
QC Entry 50152

Area

VCL

Description:

[QC Short Description]
Problems when main form position changed (no taskbar button, etc.)

[QC Description]
Changing the Position property of a main form in OnCreate to anything other than the value assigned in the object inspector causes various problems:

1. No taskbar button is created and the form minimizes to a desktop icon.

2. In some cases the form is mis-positioned.


(this bug was orignally reported in newsgroups by Ben Taylor)
QC Entry 47438

[SB]
Case #2 is broken out to Raid #251422

Area

VCL\Property/Type Editors

Description:

[QC Short Description]
SubComponents cause problems in the IDE when visual form inheritance is used

[QC Description]
If you place a component that owns a subcomponent in a form and inherit from, when you try to expand the subcomponent in the descendant form you get an access violation.

Using the utility MadExcept i get the following stack trace:

main thread ($6b0):
40006904 rtl70.bpl System @LStrAsg
40bda827 dbexpress70.bpl Sqlexpr TSQLConnection.GetConnectionName
400270cc rtl70.bpl Typinfo GetStrProp
40027154 rtl70.bpl Typinfo GetWideStrProp
400378bd rtl70.bpl Classes IsDefaultPropertyValue
007aec7d designide70.bpl Designeditors TPropertyEditor.GetIsDefault

At the time of the AV, which indicates that the bug is inside the method TPropertyEditor.GetIsDefault.

This report came from better investigation of the (withdrawn) report #7978.

UPDATE
------------------
This bug happens only if the subcomponent property is read-write (e.g. TSimpleDataset.Connection) and not when it is read-only (e.g. TLabeledEdit.EditLabel). Please read the comments (especially the fourth one) for an explanation and more exact pinpointing of the bug in the source of DesignEditors.pas.
QC Entry 7991

Area

VCL\Additional Controls\TSpeedButton

Description:

[QC Short Description]
TSpeedButton.Transparent broken

[QC Description]
TSpeedButton.Transparent is broken after applying Update 1. This happens when using Themes and the button is placed on a container (e.g. a TPanel) and not directly on a form.

Refer to the workaround which involves changing the VCL source to actually undo the change made in Update 1.

--

We have several apps that use this technique extensively, and we really do NOT want to redo the UI's for them.

I tried it in Delphi 1, but TSpeedButton did not have a Transparent property in that version. But for sure D7 and D2006 worked perfectly.

Note that there were problems witht this property in Delphi 2007 RTM, but the attempted fix has made the matter worse.
QC Entry 47250

Area

VCL\Additional Controls\Action Bar Controls

Description:

[QC Short Description]
TCustomizeDlg is not localized

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

Area

VCL\Additional Controls\TCategoryButtons

Description:

[QC Short Description]
CategoryButtons unit leaks crDragCopy cursor

[QC Description]
In the initialization section of CategoryButtons a new cursor crDragCopy = -23 is created. But it is not released in the finalization section. Since the cursor index is negative, TScreen.DestroyCursors will not release the cursor.
QC Entry 38720

Area

VCL\Core VCL Classes\TForm

Description:

[QC Short Description]
Clicking in application main form when a modal dialog is displayed doesn't flash and make a beep

[QC Description]
With the newest VCL source, when you display a Modal Dialog and click outside of the modal dialog in the parent dialogs area, the Modal dialog doesn't flash and beep like it should.

Sample project attached
QC Entry 50021

Area

VCL\Core VCL Classes\TForm

Description:

[QC Short Description]
AV on RecreateWnd when popup form had WndParent assigned

[QC Description]
The problem appears because destroying form is added to the Application's FPopupForms list.
QC Entry 49494

Area

VCL\Core VCL Classes\TForm

Description:

[QC Short Description]
TCustomForm.ChangeScale scales constraints too early

[QC Description]
ScaleBy now also scales the Constraints for a form. Unforunately the constraints are scaled *before* the form itself is scaled, which may cause an incorrect form size because the scaling of the constraints already caused the form to resize!
QC Entry 43938

Area

VCL\Core VCL Classes\TForm

Description:

[QC Short Description]
Minimize does not work

[QC Description]
Minimize continues to play tricks. The problem described happens also in applications build with Delphi, that's why I think this is a basic functionality failure.
QC Entry 49061

Area

VCL\Core VCL Classes\TControl

Description:

[QC Short Description]
Control height isn't scaled correctly when using visual form inheritance

[QC Description]
If you have a form with a control on it, descend from that control using visual form inheritance, and change the controls height but not it's top the control's height is scaled incorrectly when running under different DPIs.

TControl.ChangeScale has the following incorrect code:

if (sfHeight in Flags) and not (csFixedHeight in ControlStyle) then
if sfHeight in Flags then
H := MulDiv(FTop + FHeight, M, D) - Y else
H := MulDiv(FTop, M, D)
else H := FHeight;

what it should have is:

if (sfHeight in Flags) and not (csFixedHeight in ControlStyle) then
if sfTop in Flags then
H := MulDiv(FTop + FHeight, M, D) - Y else
H := MulDiv(FHeight, M, D)
else H := FHeight;

In the original code the second line incorrectly checks sfHeight again, instead of checking sfTop. By doing that it always uses the first "H := MulDiv" line, incorrectly scaling the height based on the already scaled Top value. The fourth line is also incorrect, and actually sets the scaled height to a twice scaled top, but it never gets executed because of the first error. The sfWidth/sfLeft scaling is implemented correctly.
QC Entry 45806

Area

VCL\Core VCL Classes\TWinControl

Description:

[QC Short Description]
Issues with WM_PAINT handling on Windows Vista

[QC Description]
Controls derived from the TWinControl control can receive WM_ERASEBKGND and WM_PRINTCLIENT messages send by the VCL, with no device context as the wParam part of the message.

This can cause problems in 3rd party controls that implement the message handler as follows (code from Virtual treeview):

procedure TBaseVirtualTree.WMPrintClient(var Message: TWMPrintClient);
var
Canvas: TCanvas;
begin
[..]
Canvas := TCanvas.Create;
try
Canvas.Handle := Message.DC;
[..]

This will raise the 'Canvas does not allow drawing' error.

It only applies to controls with property DoubleBuffered set to true, in themed applications on Windows Vista.
QC Entry 50919

Area

VCL\Core VCL Classes\TWinControl

Description:

[QC Short Description]
Right mouse clicks on deeply nested controls can cause long delays

[QC Description]
On deeply nested controls a right mouse click can cause a noticable delay. Due to the way the VCL handles WM_CONTEXTMENU the processing overhead scales with 2^NestingDepth!

See Steps for a full analysis.
QC Entry 42752

Area

VCL\Graphics

Description:

[QC Short Description]
TFont, TPen, TBrush unnecessarily recreate resource

[QC Description]
The TFont's SetHeight, SetName, SetStyle, SetPitch, SetCharset and SetOrientation always recreate the resource even if the value hasn't changed. (The CLR version doesn't do that)

The TPen's SetColor, SetStyle and SetWidth always recreate the resource even if the value hasn't changed. (The CLR version doesn't do that)

The TBrush's SetColor and SetStyle always recreate the resource even if the value hasn't changed. (The CLR version doesn't do that)
QC Entry 36910

Area

VCL\Dialog Controls

Description:

[QC Short Description]
Help Button does not function in MessageDlg with Vista

[QC Description]
The "HELP" button does not function when MessageDlg()
is used with Windows Vista.

The bug is active only when the application is themed.

When themes are disabled the "HELP" button functions.
QC Entry 48094

Area

VCL\Standard Controls

Description:

[QC Short Description]
GetDC used without protection

[QC Description]
In StdCtrls.pas GetDC(0) is being used 3 times without try/finally protection. This may cause resource leaks in case of Exception.

QC Entry 43409

Area

VCL\Standard Controls\TComboBox

Description:

[QC Short Description]
combobox under vista ignores DropDownCount setting

[QC Description]
DropDownCount seems to always be set to 30 when running under vista. when used with a combobox with a large ItemHeight this causes the dropdown list to be drawn off the top+bottom of the screen.

see attached screenshot
QC Entry 41940

Area

VCL\Standard Controls\TGroupBox

Description:

[QC Short Description]
Form Designer always shows TGroupBox themed, even when themes are turned off

[QC Description]
With a project which has disabled runtime themes, the form designer still shows a TGroupBox as themed. Other controls such as a TButton are shown non-themed as expected.
QC Entry 44088

Area

VCL\Docking

Description:

[QC Short Description]
Vista only! Autohidden dockwindows not refreshing correctly when they "slide" back into place

[QC Description]
When you autohide a dockwindow on the side and bottom of the Main application and when it retracts back to the side after being open it causes a repeating effect. This seems to happen in VISTA only! See attached screenshot and steps.
QC Entry 42977

Area

VCL\Multi-Monitor Support

Description:

[QC Short Description]
Hints should not span monitors

[QC Description]
See Steps.



(This issue is also present in Delphi versions prior to 7.)
QC Entry 1669

Area

VCL\Multi-Monitor Support

Description:

[QC Short Description]
THintWindow.ActivateHint ignores Screen.DesktopTop&Left...

[QC Description]
(NOTE: If my suggestion in entry #1669 is implemented, then this bug will most likely get taken care of in the process.)

THintWindow.ActivateHint ignores Screen.DesktopTop&Left when determining if a hint is going off the right/bottom edge of the virtual screen.

This code:

if Rect.Top + Height > Screen.DesktopHeight then
Rect.Top := Screen.DesktopHeight - Height;
if Rect.Left + Width > Screen.DesktopWidth then
Rect.Left := Screen.DesktopWidth - Width;

incorrectly assumes that the virtual desktop will always start at (0, 0). That won't be the case if, for example, the user has positioned a secondary monitor to the left of their primary monitor. In such a configuration, hints will go off the right edge of the rightmost monitor due to this bug.

The code needs to be changed to:

if Rect.Top + Height > Screen.DesktopTop + Screen.DesktopHeight then
Rect.Top := (Screen.DesktopTop + Screen.DesktopHeight) - Height;
if Rect.Left + Width > Screen.DesktopLeft + Screen.DesktopWidth then
Rect.Left := (Screen.DesktopLeft + Screen.DesktopWidth) - Width;
QC Entry 1670

Area

VCL\Win 32 Controls

Description:

[QC Short Description]
PBM_SETMARQUEEand PBS_MARQUEE Is Not Defined

[QC Description]
Constants PBS_MARQUEE and PBM_SETMARQUEE are not defined in CommCtrl unit of Delphi. This constant corresponds to PBM_SETMARQUEE message from Win32 API for Progress Bar Control.
QC Entry 25425

Area

VCL\Win 32 Controls\TImageList

Description:

[QC Short Description]
"Add Images" dialog is not resizable

[QC Description]
This is a bit of annoying when adding a bunch of icons to a TImageList (e.g. for toolbars): one can easily select the "Thumbnails" view, but since the dialog is not resizable, only two icons fit in a row.

TOpenPictureDialog already allows resizing, which would be speeding up finding the wanted icons a lot.
QC Entry 39739

Area

VCL\Win 32 Controls\THeaderControl

Description:

[QC Short Description]
THeaderSection position properties are wrong after position changed

[QC Description]
When I change order of sections of the THeaderControl and after that I change size of any of these two sections (by mouse), then the Width property (for example) will stay associated with that old position caption, not with that new.
QC Entry 34075

Area

Debugger\Breakpoints

Description:

[QC Short Description]
Ignore non-IDE breakpoints

[QC Description]
It would be really handy if the Delphi integrated debugger had an additional option: Ignore Non-Delphi Breakpoints.

The current behavior assumes that, if it's a breakpoint, then the debugger should break at it. So if a third-party DLL is coded carelessly, and includes spurious breakpoint interrupts (e.g., certain Microsoft DLLs), then the current behavior will pop up the CPU View unexpectedly when one of those breakpoints is reached.

This new feature would allow users to avoid breaking at those third-party breakpoints. Only breakpoints that I set, using the IDE, would be considered. After all, if I wanted a breakpoint in their DLL, *I* would put one there.

This setting would change the way the integrated debugger responds to breakpoint interrupts. Specifically, it would first check to see if the user actually set that breakpoint. If the address wasn't found in the IDE's internal list of user-defined breakpoints, then the IDE would automatically resume the program's execution (much like the way conditional breakpoints are treated now).

As it happens, introducing this new feature would fix issue #616 (CPU window pops up unexpectedly due to breakpoints in Microsoft DLLs).
QC Entry 2030

Area

Debugger\Breakpoints

Description:

[QC Short Description]
Automated Incident Report

[QC Description]
Access violation at address 2001097B in module 'rtl100.bpl'. Read of address 31F91A7A.

Error when hitting a breakpoint with an invalid condition
QC Entry 47963

Area

Debugger\Execution

Description:

[QC Short Description]
No program runs in IDE

[QC Description]
D2007 Win32 + SP1, WinXP Pro SP2, all updates. Worked till yesterda with no problems.

I create a new VCL Forms Application. Just empty form, nothing more. I Run. OK. I close it, and Run again. Now debugger stops at the 'begin' of project file. Event log shows:

Thread Start: Thread ID: 7912. Process Project1.exe (7140)
Process Start: C:\---path to my project---\Project1.exe. Base Address:
$00400000. Process Project1.exe (7140)
Module Load: Project1.exe. Has Debug Info. Base Address: $00400000. Process
Project1.exe (7140)
Module Load: ntdll.dll. No Debug Info. Base Address: $7C900000. Process
Project1.exe (7140)
Module Load: KERNEL32.dll. No Debug Info. Base Address: $7C800000. Process
Project1.exe (7140)
Thread Start: Thread ID: 7920. Process Project1.exe (7140)
Module Load: OLEAUT32.dll. No Debug Info. Base Address: $77110000. Process
Project1.exe (7140)

I press F9 to contiune and get the exception:

Debugger Fault Notification
Project C:\---path to my project---\Project1.exe. faulted with message:
'access violation at 0x0005dfa6: access of address 0x0005dfa6'. Process
Stopped. user Step or Run to continue. I can't do anything more. When I start compiled program without debugger I get no error. What causes the problem?
QC Entry 47816

Area

Debugger\Kernel

Description:

[QC Short Description]
Step into/over causes a debugger deadlock

[QC Description]
When debugging with string expressions in the "watch window" the debugger can run into a deadlock from which only Ctrl+F2 helps.
QC Entry 48832

Area

AddOn\IntraWeb

Description:

[QC Short Description]
Intraweb Third Party Evals unlocked

[QC Description]
When a third party eval component is installed, the expected behavior is that Intraweb falls back into evaluation mode. Among other things, eval mode causes the listening port to be randomized and forces connection only from the local machine.

With the version as released in 2795, eval components do not force IW into eval mode even though the log screen indicates that it has. Ports are not random and you can connect to the server from outside machines.

This effectively makes it impossible to distribute evaluation components for Intraweb as any evaluation component installed would be able to be used unlocked for free.
QC Entry 51266

Area

AddOn\IntraWeb

Description:

[QC Short Description]
Missing file from Install

[QC Description]
The installation of Intraweb is missing the IWCompilerDefines.inc file. This file should be placed in the lib folder along with compiled Intraweb dcus.
QC Entry 51270

Area

ActiveX\IDE\Wizards\Automation Object

Description:

[QC Short Description]
Automation Object Wizards opens all units in project

[QC Description]
When using the Automation Object Wizard all units in the project are opened.

This i quite annoying and takes a lot of time.
3 minutes for an ActiveX library with 236 units.
QC Entry 40684

Area

ActiveX\Code Generators\TLibImp frontend

Description:

[QC Short Description]
TLibImp produce invalid code with french local

QC Entry 49137

Area

ActiveX\Type Library Editor

Description:

[QC Short Description]
Open one unit opens all units in ActiveX project when Type library editor is active

[QC Description]
When the type library editor is active and you double click on a unit in the project all other units are opened.
QC Entry 41189

Area

Midas\TClientDataSet

Description:

[QC Short Description]
ClientDataSet problem loadiing XML File - Binary Fields

[QC Description]
TClientDataSet cant load binary fields from XMLFiles - DataPacket

I tryed to load with a clientdataset the file:
"C:\Program Files\Common Files\Codegear Shared\Data\biolife.xml"
but when try to link to a TDBImage I get the error "Bitmap is not valid"
QC Entry 46405

Area

Compiler\Delphi

Description:

[QC Short Description]
dcc32.exe shows crippled logo text (German)

[QC Description]
The command line compiler outputs a crippled logo text when using the German version.

It looks like the *.de files are out of sync.
QC Entry 48526

Area

Compiler\Delphi

Description:

[WRONG TRANSLATION]

[QC Short Description]
Cmdline Compiler uses translated reserved words in error messages

[QC Description]
Reserved words are translated to German in the command line compiler. I don't think that this is a good idea.

English: 'END' expected but '...' found
German: 'ENDE' erwartet aber '...' gefunden
QC Entry 47765


com\strlist.rcn
com|strlist.STR_END

Area

Compiler\Delphi\String Resources

Description:

[QC Short Description]
English Error-Messages in german compiled Projects

[QC Description]

Hello,
if you compile an Delphi Program with the german Delphi 2007 for Win32 Version you'll get englisch runtime messages.

Example:
StrToInt('Two');

-> EConvertError: 'Two' is not a valid integer value

expected:

-> EConvertError: 'Two' ist kein g ltiger Integerwert


SysConst.dcu in $(BDS)\Lib and $(BDS)\Lib\Debug have english resource strings. :-(

DBConsts.dcu has german strings :-)
ComStrs.dcu has german strings :-)
ComConst.dcu has german strings :-)
Consts.dcu has german strings :-)
HelpIntfs.dcu has german strings :-)
RTLConsts.dcu has german strings :-)

QC Entry 49286

Area

RTL\Delphi

Description:

[QC Short Description]
Fastcode StrLen in the RTL

[QC Description]
I would like Borland to include in the RTL the Fastcode StrLen function that it is a winner on the Fastcode RTL replacement target. The current winner is StrLen_JOH_IA32_7. It is written by John O'Harrow and it is 2.29 times faster than the current RTL StrLen function on a blend of the latest processors, P4 Presler, P4 Northwood, Pentium M Yonah Pentium M Dothan, AMD 64 and AMD 64 X2. It is using basic IA32 instructions only and will run on all processors after 486. It has undergone thorough validation and it is 100% compatible with the current RTL StrLen function.

Source and benchmark results are available here.

http://fastcode.sourceforge.net/challenge_content/StrLen.html

The function can be found in the StrLenJOHUnit.pas file in the StrLen Validation and Benchmark Tool project.

Regards
Dennis Kjaer Chrsitensen
QC Entry 27373

Area

RTL\Delphi

Description:

[QC Short Description]
Fastcode CompareStr in the RTL

[QC Description]
I would like Borland to include in the RTL the Fastcode CompareStr function that it is a winner on the Fastcode RTL replacement target. The current winner is CompareStr_PLR_IA32_16. It is written by Pierre le Riche and it is 4.0 times faster than the current RTL CompareStr function on a blend of the latest processors, P4 Presler, P4 Northwood, Pentium M Yonah Pentium M Dothan, AMD 64 and AMD 64 X2. It is using basic IA32 instructions only and will run on all processors after 486. It has undergone thorough validation and it is 100% compatible with the current RTL CompareStr function.

Source and benchmark results are available here.

http://fastcode.sourceforge.net/challenge_content/CompareStr.html

The function can be found in the CompareStrPLRUnit.pas file in the CompareStr Validation and Benchmark Tool project.

Regards
Dennis Kjaer Chrsitensen
QC Entry 27905

[Top Ten]

Area

RTL\Delphi\Other RTL

Description:

[QC Short Description]
Invalid result of WStrBufSize

[QC Description]
WStrBufSize from WideStrUtils retrun invalid buffer size of WideString.

var
P: PWideChar;
begin
P := Str;
Dec(P, SizeOf(Cardinal));
^^^^^^^^^^^^^^^^^^^^^^^^^^
This operation offset P to 8 byte/
QC Entry 23675

Area

RTL\Delphi\Other RTL

Description:

[QC Short Description]
FMTBcd.BlankArgument has sub-optimal code

[QC Description]
The function BlankArgument in the FMTBcd unit has as part of its logic the following statement:

if not (S[I] in ['0', Dot] then

While this works, it causes the compiler to generate very inefficient code: It causes the compiler
to emit code to construct the set of char in line and then do the test.

Replacing the above statement with the following equivalent:

if (S[I] <> '0') and (S[I] <> Dot) then

reduces the size of the binary code for the whole routine from 144 bytes to 70 bytes and /should/ give at least an equivalent speed-up.


QC Entry 43078

Area

RTL\Delphi\Other RTL

Description:

[QC Short Description]
FormatBCD return incorrect result for value 0.10

[QC Description]
Many Bcd error has been fixed in Delphi 2007. However, there are some cases still failed. Please run the following test case.
QC Entry 42792

Area

RTL\Delphi\Other RTL

Description:

[QC Short Description]
Comment Typo in SysUtils.pas

[QC Description]
SysUtils.pas line 4225 (within function WideUpperCase):
comment line:
// CharUpperBuffW is stubbed out on Win9x platofmrs

The word 'platofmrs' should probably be 'platforms'.

This is really annoying me! Please fix this ASAP! <g,d,&rlh>
QC Entry 23633

Area

RTL\Delphi\Pascal Strings

Description:

[QC Short Description]
LeftStrr, RightStr and MidStr are incorrectly coded

[QC Description]
The AnsiString versions of LeftStr, RightStr and MidStr functions in StrUtils.Pas are wrongly coded..

function LeftStr(const AText: AnsiString; const ACount: Integer): AnsiString; overload;
begin
Result := Copy(WideString(AText), 1, ACount);
end;

function RightStr(const AText: AnsiString; const ACount: Integer): AnsiString; overload;
begin
Result := Copy(WideString(AText), Length(WideString(AText)) + 1 - ACount, ACount);
end;

function MidStr(const AText: AnsiString; const AStart, ACount: Integer): AnsiString; overload;
begin
Result := Copy(WideString(AText), AStart, ACount);
end;

For each of the 3 functions, the input string is unnecessarily converted into a WideString, processed and converted back. There are already separate overloaded versions of the function for WideStrings

Taking RightStr as an example, the current implementation of the function causes two AnsiString to WideString conversions, a wideString Length call, a WideStrnig copy, a WideString to AnsiString conversion and a WideString Clear, together with a surrounding try/finally. - Very, very Inefficient (All that is needed is one call to @LStrCopy).

The corrected version is approx 15x faster.
QC Entry 35588

Area

SOAP\WSDL Importer

Description:

[QC Short Description]
WSDL generates AV on importing SOAP datamodule

[QC Description]
When you try to import the interface descended from IAppServerSOAP for the Soap data module the WSDL importer crashes with AV "Access violation at address 502A86BA in module 'dclsoap70.bpl'. Read of address 00000000"
QC Entry 8275

Area

SOAP\Server Applications

Description:

[QC Short Description]
Function Result as TDynByteArray fails with 4 zero bytes

[QC Description]
First of all - excuse my bad english...

i have created a webservice with a server and client application and used a TByteDynArray to transfer data from server to client

// extracted from server source code
{ TmyService }
TmyService = class(TInvokableClass, ImyService)
private
function ReadDataByAdress(id: Integer; OpAdresse: AnsiString; NoOfData: Integer): TByteDynArray; stdcall;
public
end;

In the client executable everything went fine, when i called this function except for one case: if the first 4 bytes of this array are zero (set by server function call) , the received array was set set to zero and had no data anymore.


I found a suspicious routine in the file:
..\source\soap\OpToSAOPDomConv.pas
procedure TSOAPDomConv.WriteNonRectDynArray

I think the validation of a Nil-Pointer has to move a few lines down and must preceeded by the ByteArray Checkout. This one worked for me, but i'm not shure if i am really right by changing the statements in that order ?

see the changed code in 'Workaround'




QC Entry 7628

Area

Modeling\IDE Integration

Description:

[QC Short Description]
Add hints to truncated grid entries in Audits window

[QC Description]
Truncated grid entires (Warni...) in Audits window not showing hints with full content.
It will be very useful to have this here (as in many other cases). It's very annoying to see the first n Characters of a long filename. Truncation of filenames should be in the middle (see: windows DrawTextEx with DT_PATH_ELLIPSIS Format) or on the left side.
QC Entry 45780

Area

Modeling\SCI

Description:

[QC Short Description]
Together inserts unwanted blank lines between properties

[QC Description]
When generating Delphi code from the modeling surface, individual properties are created in the class with a blank line between them, that I always have to go and clean up myself.

Nuisance issue.
QC Entry 30812

[SpUpdMF]

Area

Modeling\Generate Documentation

Description:

[QC Short Description]
All parameters get first parameter's description

[QC Description]
When generating documentation, if a method has more than one parameter, all parameters get the same description.

Use the attached project as a demonstration
QC Entry 24862

[TVS] Bug in GenDoc
[TVS CR #11483, #10839]



Server Response from: ETNASC03