Delphi 2007 - List of Fixes from December Update

By: Chris Pattinson

Abstract: List of 93 fixes (32 from Quality Central) for D2007 as part of the RAD Studio 2007 December Update

QC# Project Area
Delphi Documentation
Description: Steps:
Start IDE without click anything, press F1 got error.

---------------------------
Error
---------------------------
No help found for context.
---------------------------
OK Details >>
---------------------------
1. Start IDE
2. press F1

//exp: Help's default page
//act : error

---------------------------
Error
---------------------------
No help found for context.
---------------------------
OK Details >>
---------------------------

QC# Project Area
Delphi Documentation
Description: Steps:
//This are the remaining issues from 254976

Bad links in default.htm file.

There are other links that don't work
Backfish SQL documentation
http://dn.codegear.com/article/36770 is incorrect : page not found

Eco documentation
http://dn.codegear.com/article/36853/ is incorrect: page not found
Run BDS. In the default page, click on the Help button. Check the different options. Some links don't work.

QC# Project Area
Delphi Documentation
Description: Steps:
Help Update

Running 'Rad Studio Documentation' stand alone I see 'No table of contents has been defined for current Help collection'
Run Update install
From Windows Start menu
CodeGear Rad| Rad Studio Documention

QC# Project Area
Delphi Documentation
Description: Steps:
Help on Help returns

Unable to get navigation object [!DefaultDynamicLinkIndex]

URL:ms-help://borland.bds5/MS.NETFramework.v20.en/MS.Dexplore.v80.en/dv_dexplore/html/92b51076-8841-45a2-8e2b-
bmp attached
Run help
Help|help on Help

QC# Project Area
Delphi Documentation
Description: Steps:
[Function Issue]
Help button of "Add Source Breakpoint" window and the document screen do not support.

Please see attach.

[MSeki on 16/10/07 (After HelpUpdate/1013/)]
This issue has been resolved.
1. Watch "Add Breakpoint" of "Breakpoint List".pane.
2. Select "Source Breakpoint..." => "Add Source Breakpoint" window appears
3. Push "Help" Button
4. "Add Address Breakpoint or Add Data Breakpoint" is displayed in DocumentExplorer.

QC# Project Area
Delphi IDE
Description: Steps:
When F1 is pushed on TObject, it is necessary to display help.

[HelpUpdate]
1. Run "Delphi for Microsoft Win32" or "C++Builder".
2. Create New VCL Form Application.
3. Drop New TObject(ex.TButton)
4. Click TButton1.
->TButton1 is active.
5. Push F1.
->Help is not displayed.

    43860

QC# Project Area
43860 Delphi IDE
Description: Steps:
[QC Short Description]
Vista problems with XML Data Binding Wizard

[QC Description]
The Delphi 2007 XML Data binding wizard tries to write to the program files folder (C:\Program Files\CodeGear\RAD Studio\5.0\bin\xmldbwizard.ini.). In Vista this only works if the user has launched Delphi as admin..
QC Entry 43860
1. Start Delphi 2007 in Vista
1.5 New Delphi Win32 VCL App
2. From the File menu select New -> Other
3. In the new item dialog, select Delphi Projects -> XML -> XML Data Binding
4. Click OK
5. You get the following error dialog:

---------------------------
Error
---------------------------
Unable to write to C:\Program Files\CodeGear\RAD Studio\5.0\bin\xmldbwizard.ini.
---------------------------
OK Details >>
---------------------------

QC# Project Area
Delphi IDE
Description: Steps:
Contains and Requires are not able to translate in the tree of Project Manager.

[mt - also in French D2005]
same in Japanese Update2 and German Update2.

Are "Contains" and "Requires" hard corded?
1. File /New/ Package - Delphi pour Win32
2. check Project Manager
// Contains and Requires are not translated in the tree.

    43305

QC# Project Area
43305 Delphi IDE\Dialogs\Project Options
Description: Steps:
[QC Short Description]
Duplicate DEBUG/RELEASE defines

[QC Description]

After using the "Default" checkbox on "Project Options", whenever a new project is created it has a duplicate define DEBUG that stays even when switching to RELEASE options.
QC Entry 43305
1) New project 2) Project Options, Directories/Conditionals, Check the "Default" check box and click OK 3) Close all 4) New project 5) Project Options, Directories/Conditionals: duplicate DEBUG appears in "Debug" options; DEBUG;RELEASE show in "Release" options.

    44669

QC# Project Area
44669 Delphi IDE\Dialogs\Project Options
Description: Steps:
[QC Short Description]
Image base setting is not persisted

QC Entry 44669
---added - TG ----
1. After saving image base to another value, save project and close.
2. Open the dproj in a text editor to verify the ImageBase was added to the project
3. Reopen the project
4. In the Project Manager, right click Project1, and Save.
5. Re open the dproj in text editor, notice the ImageBase was removed.

----ORIGINAL---------------
Situation A:

1. Set an image base other than $0040000 in Project Options / Linker
2. Save and Close the project
3. Open the same project

Expected: Image base remains as set
Found: Image base has reverted to $0040000


Situation B:

1. Set an Image base other than $0040000 for Release Build in Project Options / Linker
2. Select Debug build
3. Select Release build

Expected: Release build Image base remains as set
Found: Release build Image base has reverted to $0040000


Situation C:

1. Set an image base other than $0040000 in Project Options / Linker
2. Save and Close the project
3. Verify that the correct image base is saved in the DPROJ file
4. Open the same project
5. Open the Project Options Dialog, then click OK
6. Build the Project

Expected: The built DLL should have the specified image base
Found: The built DLL has image base $0040000

QC# Project Area
Delphi IDE\Code Editor
Description: Steps:
Popup menu in code editor for an XML file contains non grayed items which do nothing.
"Refactoring" doesn't do anything, should be grayed.
"Rechercher" has an arrow, indicating there is a submenu, but there isn't.
"Compléter la classe sous le curseur" not grayed but doesn't do anything and so should be grayed.
See screen dump.
"Basculer le point d'arrêt" is a non-sense in this context. Should be grayed.
Same popup is shown for HTML, JavaScript, ...

    51136

QC# Project Area
51136 Delphi IDE\Code Editor\Error Insight
Description: Steps:
[QC Short Description]
REPRODUCABLE Error Insight Eats All Memory

[QC Description]
I finally found something reproducable that shows Error Insight consuming memory to the point that the IDE slows to a crawl (or worse). See steps..
QC Entry 51136


[ref. 244356, looks like similar issue.]
1) I bring up an out of the box (well, as downloaded) copy of the Delphi personality on a freshly booted machine. 2) Open a new VCL Forms Application. 3) Open the Windows Unit and the Classes Unit 4) Have Task Manager running so you can follow the Mem Usage of bds.exe. The CPU Time is interesting to watch as well. 5) When looking at the Windows Unit, you should see three Error Insight messages (QC51111). 6) Go down to the TYPE directive at line 109 and put a couple of // in front of it to comment it out. Wait patiently for about 7-10 seconds while the Error Insight list gets built in the Structure window. Get used to seeing how long this takes... 7) Switch to the Classes unit and comment out the TYPE directive on line 72 (it isn't the first TYPE) 8) You'll now see a few Error Insight messages from Classes. Leave classes with these errors. 9) Switch back to the Windows unit where the TYPE is commented out. 10) Position the cursor right after the two // you added. 11) Now comes the fun... While watching the list of Errors in the Structure box, backspace twice to delete the two // characters. As soon as big bunch of Error Insight error messages disappear (three will remain), type the two // characters again and wait for all of the Error Insight Messages to reappear (7-10 seconds). 12) Repeat step 11, alternating between having the errrors and not having the errors. Remember to delete the // as soon as the error messages finally appear and add the // back after the error messages quickly disappear. 13) Follow the Mem Usage while doing this -- things bog down when you get up to about 1.2 GIG of memory usage. (Don't forget to fix the source files when you are done) Choice of files isn't significant -- just something to generate lots of errors... Up-to-date XP 2 Gigs Memory 3.4 Gig Pentium D (so two processors)

QC# Project Area
Delphi IDE\Code Editor\Error Insight
Description: Steps:
stdcall causes error insight errors. New VCL App
add the following type decl;

type
TTestRecord = record
E1: procedure stdcall of object;
E2: procedure of object stdcall;
E3: procedure of object; stdcall;
end;

//error insight is flagging 6 different errors. the code compiles fine.

QC# Project Area
Delphi IDE\Code Editor\Error Insight
Description: Steps:
Error Insight has shows an error for code involving calling convention directives.

(JJS: See related compiler issue 238688)

// Francois Piette 2007.09.18
Still in build 2804.9245 (RAD Studio 2007)
Still in build 2825.9366_VCL_Update.8
Load the attached program into the IDE as a Win32 app.

See that error squiggles are indicated for the code on the line marked with #1.

Nevertheless, the program compiles as expected.

program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
TMyFuncPtr = procedure (const Msg : String); cdecl;
procedure MyFct(const Msg : String); cdecl; forward;
const
MyFctPtr1 : procedure (const Msg : String); cdecl = MyFct; //#1
MyFctPtr2 : TMyFuncPtr = MyFct;
procedure MyFct(const Msg : String); cdecl;
begin
WriteLn(Msg);
end;
begin
MyFctPtr1('Test1');
MyFctPtr1('Test2');
end.

QC# Project Area
Delphi IDE\Code Editor\Error Insight
Description: Steps:
When the Editor options "error insigth" is enabled, Adding comments, new lines and deliting lines within a class definition is causing performance issue.

After dding few blank lines between class fields definition, the "private bytes" of the bds process increase of 1K.
Removing those makes this number to increase of 1 more K per line removed.

The "Private Bytes" number will not decrease unless even when those comments or blank lines are removed.
BDS needs to be re-started to see "privates bytes" number change.

[ref. 254984 for other steps.]
1. Open a pas file with class definition

2. start process explorer and open the properties window for it - [Private bytes during at this point of this test is 139 484 K]

3. add blank lines between fields of a class definition. -[ "private bytes" = 140 828 K"]

4. remove the same lines [ "private bytes" = 144 284K"]

5. wait ....10 minutes. [ "private bytes" = 144 284K"]

will update this raid with the automated tests once it is ready


    51428

QC# Project Area
51428 Delphi IDE\Code Editor\Help Insight
Description: Steps:
[QC Short Description]
REPRODUCIBLE Help Insight "Object Reference Not Set To An Instance of an Object"

[QC Description]
I put together a relatively simple case that will give an Object Refererence Not Set To An Instance of an Object" error dialog box every time you hover over an identifier.

The same thing happens with many other symbols defined in the D3DX9 unit.

Code compiiles without error.

This has been around for a long time...
QC Entry 51428


STACK TRACE IN COMMMENT.
This uses DirectX code from the Clootie/Jedi library. Load the project title Bug in the attached files. In the main program, hover the mouse cursor over D3DXMatrixIdentity and you'll get an error dialog. D3DXMatrixIdentity is an inline procedure declared in the D3DX9 unit.

    22343

QC# Project Area
22343 Delphi IDE\Form Designer
Description: Steps:
[QC Short Description]
F1 not working from embedded form-designer

[QC Description]
Selecting a control on the embedded VCL Form designer and pressing the F1 button fails to display help for the selected control.

Applies only to the embedded designer! With the floating designer F1 still works as in previous versions
QC Entry 22343

[10.0.2237.38180 ( 2/16/2006) : true ]
[HelpUpdate]
!. Start a Delphi with just the Win32 personality (with the default docked layout and the embedded designer). 1. Start a Win32 project. 2. Place a TButton on the main form. 3. Click on TButton so that it is selected. 4. Press F1. In previous versions of Delphi (e.g. Delphi 5), help on TButton would be displayed. In Delphi 2006, nothing happens.

    44578

QC# Project Area
44578 Delphi IDE\Open Tools API
Description: Steps:
[Windows Vista]
[QC Short Description]
IDE Crashes on shutdown with DLL expert loaded

[QC Description]
When this very DLL export (attached) is loaded the IDE crashes on shutdown (the Windows Vista "Blabla has stopped working" dialog shows up).
QC Entry 44578
Install on Windows Vista (note from QA: does not occur on Windows XP)

1) Compile the attached expert project or use the included DLL
1) Add DLL expert to the registry path HKEY_CURRENT_USER\Software\Borland\BDS\5.0\Experts using an string key such as TestExpert with a value of C:\<PathTo>\IDECodeFind2007CrashTest.dll
2) Start Delphi 2007
3) When completely started up, close the IDE using the main window caption bar X

-> EXP: IDE shuts down normally
-> ACT: IDE crashes with this type of error (seen under the Delphi 2007 debugger):

---------------------------
Debugger Fault Notification
---------------------------
Project D:\Borland\Delphi2007\bin\bds.exe faulted with message: 'access violation at 0x05ac6c0c: access of address 0x05ac6c0c'. Process Stopped. Use Step or Run to continue.
---------------------------
OK
---------------------------

The crash happens after FinalizeWizard completes and the DLL is unloaded. The call stack at the time is like this with the top frames repeated many times:
:77dcee57 ntdll.KiUserExceptionDispatcher + 0xf
:77deb6a3 ; ntdll.dll
:77dcee57 ntdll.KiUserExceptionDispatcher + 0xf
:77deb6a3 ; ntdll.dll
:77dcee57 ntdll.KiUserExceptionDispatcher + 0xf
:77deb6a3 ; ntdll.dll
:77dcee57 ntdll.KiUserExceptionDispatcher + 0xf
:77deb6a3 ; ntdll.dll
:77dcee57 ntdll.KiUserExceptionDispatcher + 0xf
:2000a204 UnregisterModule + $20
:2000ac6e ; C:\Windows\SysWOW64\rtl100.bpl
:77dfa664 ntdll.RtlDestroyQueryDebugBuffer + 0x100
:77deb8f2 ; ntdll.dll
:77deb915 ; ntdll.dll
:76a292c7 kernel32.ExitProcess + 0x15
:200078c9 @Halt0 + $C5
:00400000 ; C:\<IdePath>\bin\bds.exe

QC# Project Area
Delphi IDE\VersionInfo
Description: Steps:
IDE doesn't save version info for the localized project when the localized project for a project is present.

Clarify 672774
****UPDATED****
1. I create a simple sample project (VCL forms application - Delphi for Win32)
2. I then choose Project | Languages | Add. I then choose to add French Canada.
3. I save when prompted.
4. I recompile the project when prompted.
5. I now have my project.frc in the project manager, and it compiles / works properly.
6. I then choose Project | Options and select 'Include version information in project.'
7. I can now modify the version information, such as set Major = 3. Then, File, Save all.
8. When I build the project.frc and go to view the properties on the built frc, I do not get the version info.
9. I set the same version informations on project.frc using the right-click context menu -> options.
10. If I save the project group, close it, re-open it (reopen the Project group, then activate Project.frc) and choose Project | Options, the 'Include version information in project' does appear, however, the right-click context menu of project.frc does not display the correct version information...

****ORIGINAL****
1. I create a simple sample project (VCL forms application - Delphi for Win32)
2. I then choose Project | Languages | Add. I then choose to add French Canada.
3. I now have my project.frc in the project manager, and it compiles / works properly.
4. I then choose Project | Options and select 'Include version information in project.'
5. I can now modify the version information, such as set Major = 3. Then, File, Save all.
6. When I build the project.frc and go to view the properties on the built frc, I do not get the version info.
7. If I save the project group, close it, re-open it (reopen the Project group, then activate Project.frc) and choose Project | Options, the 'Include version information in project' is once again de-selected and all my changes are gone.

    48947

QC# Project Area
48947 Delphi IDE\Class Completion
Description: Steps:
[QC Short Description]
Class completion duplicates code when invoked on certain classes

[QC Description]
When invoked on some classes, class completion will duplicate code; usually what is located in the topmost private section.

This problem is present in build 2738, but not in 2728.
QC Entry 48947
1. Start Delphi build 2738. 2. Open the attached dupunit.pas. No need to create a project first. 3. Move the cursor somewhere in the class and invoke Class Completion (Ctrl+Shift+C). 4. The expected behavior is that nothing should change, but everything in the private section is duplicated and class completion produces code that doesn't compile.

    50146

QC# Project Area
50146 Delphi IDE\Packages
Description: Steps:
[QC Short Description]
Project options dialog corrupts the list of DCR files in package DPK file.

[QC Description]
The list of DCR files in the package DPK file gets "corrupted" to include duplicate entries, which in turn prevent the project from building. Manual editing of the DPK file can resolve the problem.

QC Entry 50146
0: First, copy the attached UNIT1.PAS and UNIT1.DCR to a folder on your system. (or use any other PAS/DCR pair that you have) 1: Launch RAD Studio 2: File/New Package - Delphi Win32 3: Right-click on package1.bpl in project manager, and "View Source". You'll see this at the head of the file. package Package1; {$R *.res} {$ALIGN 8} ... 4: Project/Build Package 1 - this works just fine. 5: Project/Add to Project "Unit1.pas" (from step #0) Note that the package "view source" (the DPK file) now looks like this:- package Package1; {$R *.res} {$R 'dcrbug\Unit1.dcr'} {$ALIGN 8} ... 6: Again, Project/Build Package 1 - this works just fine. 7: Open Project/Options dialog, and click "OK" to close: DPK file now looks like this package Package1; {$R *.res} {$R 'dcrbug\Unit1.dcr'} {$R 'dcrbug\Unit1.dcr'} {$ALIGN 8} ... Note: an additional line will be added each time you repeat this step!! 8: Again, Project/Build Package 1 EXPECTED: Builds ok. ACTUAL: Build fails, with error:- [DCC Error] E2161 Warning: Duplicate resource: Type 2 (BITMAP), ID 1; File C:\Users\Roddy\Documents\RAD Studio\Projects\dcrbug\Unit1.dcr resource kept; file C:\Users\Roddy\Documents\RAD Studio\Projects\dcrbug\Unit1.dcr resource discarded. *NOTE* This should be a warning, but it's being treated like a fatal error. Your package has *not* built.

QC# Project Area
Delphi IDE\Packages
Description: Steps:
When a file is added to a package project and there is a .dcr with the same base name as the file, it leads to duplicate .dcr's in the project causing duplicate resource errors.
[this problem was introduced to Spacely post-RTM]
0. Install Spacely and Cogswell
[an important step, the latest Spacely only does not show the problem]
1. Unzip attachment to a directory
2. File | New Delphi Package
3. Project | Add To Project and select the Unit1.pas you unzipped in step 1
4. Go to Project | Remove From Project notice the list contains:

Unit1.dcr
rtl
Unit1
Unit1

5. Remove one of the Unit1s
6. Go to Project | Remove From Project and notice that the list is the same
or there might now be two Unit1.dcr's

alternate steps to see the duplicate dcr's
1. Unzip attachment to a directory
2. File | New Delphi Package
3. Project | Add To Project and select the Unit1.pas you unzipped in step 1
4. Go to Project Manager and remove Unit1.pas from the project
5. Go to Project | View Source and notice two entries for Unit1.dcr,e.g.
package Package1;

{$R *.res}
{$R '..\test\Unit1.dcr'}
{$R '..\test\Unit1.dcr'}

QC# Project Area
Delphi IDE\Packages\Installing Components
Description: Steps:
[ACCESS VIOLATION]

[QC Short Description]
Rapport d'incident automatisé

[QC Description]
Violation d'accès à l'adresse 216D53B0 dans le module 'delphicoreide100.bpl'. Lecture de l'adresse 00000004.

I was trying to compile and install a component set designed for BDS2006. There are two packages. One runtime and one design time. The runtime package compiled OK. The design time complained about a component already in the design time package and proposed to remove the unit. I asked to see the details in the remove dialog box, then clicked OK to accept removing. The access violation occured when I clicked OK.
QC Entry 42271 and also 42274

It looks like it is not related at all to the attached code. I reproduced with another project. I built a sample project. See attached file PackageCrash2622.zip.

Note: DO NOT DISTRIBUTE ATTACHED CODE !

QC 42271 - removed from Ref No so field testers cannot see the attached code


// Francois Piette
Still there in 2671
Still in 2798, see QC51434
Still in 2825.9366_VCL_Update.8, see QC53376

Steps with the simple projects attached:

1. Launch the IDE
2. Close All
3. Unzip PackageCrash2622.zip in any folder
4. Open ProjectGroup1 from PackageCrash2622.zip
5. Build Package1
6. Install Package1
7. Build package2
=> The IDE pops a dialog box up to let you remove Component1
Click OK to remove Component1
=> ACCESS VIOLATION
8. Shutdown the IDE
=> Send report to Microsoft :-)

NOTE 7/17/07 - This no longer results in an AV. It causes an duplicate resource to be added to the project Source file. if you remove this duplicate, the file now builds fine.
Note by F. Piette 05/08/2007 - Build 2770.8305 still experience duplicate resource added in the package

Step to reproduce with project mentionned in QC42271:

1. Unzip/Untar the attached source code
2. Open GrizzlyBaseD10.bdsproj
3. Build GrizzlyBaseD10.bpl first
=> It complains about GrizzlyBaseR10.bpl not found (normal !)
4. Build GrizzlyBaseR10.bpl (Should be OK)
5. Build GrizzlyBaseD10.bpl again
=> Complain about HotKeyMgr
6. Check "Show details"
7. Click OK
=> ACCESS VIOLATION

Note: DO NOT DISTRIBUTE GRIZZLYPACK ATTACHED CODE !
Note by F. Piette 05/08/2007 - Cannot reproduce this one with build 2770.8305

    42177

QC# Project Area
42177 Delphi IDE\Desktop Layouts
Description: Steps:
[QC Short Description]
In classic undocked mode after you close last unit you will see gray window and if you try to close it using Ctrl+F4 you will get Access violation

[QC Description]
Still exists in 2625.
In classic undocked mode after you close last unit you will see gray window and if you try to close it using Ctrl+F4 you will get Access violation
QC Entry 42177
1. Open IDE. 2. Switch IDE to Classic Undocked layout. 3. Create New VCL application. 4. Close every open unit unit you will gray window. 5. Press Ctrl+F4 and see access violation Expected: After closing of last unit this window should disapear. Actual : This gray window stay in screen and it looks quite bad.

QC# Project Area
Delphi IDE\Translation Tools\Resource DLL Wizard
Description: Steps:
[Nov 2007 Update]
Resource DLL wizard does not work.

Error dialog with "There are no options" show up.

After error message, the RD wizard still active, but the project file does not contain any source files.

Note:
BDS 2007 RTM (D2007 Update3) worked fine.
1. Create new VCL form / W32 application. save it.
2. Select "Project | Languages | Add....
3. Error dialog with the following message.

===============
[Window Title]
Error

[Content]
There are no options for C:\Users\tarisawa\Documents\RAD Studio\Projects\Test\Project1.dproj
===============

    21257

QC# Project Area
21257 Delphi IDE\Help
Description: Steps:
[QC Short Description]
Help needs to use Personality for Search Filter

[QC Description]
Help is supposed to be helpful, I should not have to scroll massive lists of unrelated help just because the IDE doesn't bother to pass what personality should be used for the filter.

QC Entry 21257
[HelpUpdate]
(Simple Example) 1, Open up any personality 2. Type some keyword like TObject 3. Hit F1 ---- Expected Behavior I see TObject only for that Personality (Annoying Example) 1. Open up any Personality 2. Type keyword like "Handle" 3. Hit F1. --- I shouldn't have to scroll through 40 items that don't relate to my personality to find the "open" call I want.

QC# Project Area
Delphi IDE\Help
Description: Steps:
No help found when clicking button in
Project Page Options dialog
New VCL app
Project|Project page Options
Click Help button

    43181

QC# Project Area
43181 Delphi IDE\Help
Description: Steps:
[QC Short Description]
Pressing F1 after creating a new project doesn't work

[QC Description]
Pressing F1 after creating a new project gives the error "No help found for context"
QC Entry 43181
1. Start IDE. 2. Using the mouse, select File, New, VCL Forms Application - Delphi for Win32. Do not do anything using the mouse after that. 3. Wait until a new VCL Forms app has been created, press F1. EXP: Proper help on how to design a VCL Forms app. ACT: No help found for context

QC# Project Area
Delphi IDE\Help
Description: Steps:
Build Events shows up No help found for context.

Additional enabling Help Debug results in the following message in the Help Viewer:

[Help2] CanShowALinkEx ALink = BDS5:13751 ANameSpace = borland.bds5 AIndex = 2 Result = 0
+ Install RTM product
+ Create a VCL Project
+ Click Project | Options | Build Events
+ Click the Help button
//exp: Information on Build Events worked
//act:

---------------------------
Error
---------------------------
No help found for context.
---------------------------
OK Details >>
---------------------------

<details are attached>
---- ADDITIONAL ----
Used Chris B's help tool. The following information was found:


No help found for "hcBuildEventPropSheet"

No help found for "hcBuildEventEditor"

No help found for "bds5:13751"

Interestingly enough, putting in: bds5:13752 results in getting back a help page of:
ms-help://borland.bds5/devcommon/buildconfigurationmanager_xml.html

[Help2] CanShowALinkEx ALink = BDS5:13751 ANameSpace = borland.bds5 AIndex = 2 Result = 0

QC# Project Area
Delphi IDE\Help
Description: Steps:
Help button for Pre-Build Event dialog brings up error: No help found for context. 1. new VCL app for win32
2. Project | Options
3. Click on page build events
4. Click on Edit...
5. in Pre-Build Event dialog click help button

//exp: help shows up
//act. error message

    47408

QC# Project Area
47408 Delphi IDE\Refactoring\Rename
Description: Steps:
[QC Short Description]
Rename refactoring does not work for non-class function parameters

[QC Description]
Renaming of a Parameter that is not part of a class only renames the parameter in the implementation section but does not rename it in the declaration of the
procedure/function.
QC Entry 47408
1. start Delphi for Win 32.
2. create a new VCL application.
3. in the interface section of the form's unit (and outside of the class), declare this function (just above the Implementation keyword):

procedure DoThat( Param1: Integer );

4. in the implementation of the unit, create the following function:

procedure DoThat( Param1: Integer );
begin
end;

5. right-click on the Param1 parameter from the declaration in the interface section.
6. invoke the Rename refactoring and change the name to Param2.
7. the name of the parameter is changed in the implementation section, but not in the interface.
8. invoking Rename on Param1 from the implementation for the procedure will also not rename the parameter in the declaration of the procedure.

    48365

QC# Project Area
48365 Delphi IDE\Start Page
Description: Steps:
[QC Short Description]
When selecting a Newsfeed, the displayed dates of items are about a month in the future

Example:
CodeGear Developer Days June 2007 - The Replays
C++Builder, Delphi 2007 for Win32, Delphi for PHP and InterBase technical sessions
Posted on: Sunday, 29 July 2007

CodeGear - Delphi for Win32 - TRY IT NOW!
eDM for Delphi 2007 for Win32
Posted on: Sunday, 29 July 2007
QC Entry 48365
Open the IDE.
Click on 'Select Newsfeed' in the top right
Select 'Delphi'
//note the dates displayed on the items
reference the dates on the public website using regular browser
//note the date difference

QC# Project Area
Delphi Install
Description: Steps:
[STRING CORRUPTION]
Message characters when I canceled Install were corruption.
(InstallAware Wizard)
1. Run Setup.exe
2. Click Cancel Button At once (InstallAware Wizard)

    51030

QC# Project Area
51030 Delphi Install
Description: Steps:
[QC Short Description]
ESD Help installer & 7zip files installed to bad location - prevents network install

[QC Description]
When the ESD installer stub is used to install Highlander, it downloads the instal 7zip files to a location of the user's choice, then unzips them into the Documents and settings\all users directory and continues installation from there.

With the breakout of the help installer into a separate procedure, this is no longer true of the help install - The installer and 7zip files for the help system are downloaded to c:\documents and settings instead.

Because of this, If I use the install image on the network to install to several workstations, each of the workstations must face a lengthy download of the help system files.

There may be a way to make the help install automatically if the files are copied to the network/external hd, but if there is it is not obvious, and really should not be necessary.

Only obvious "solution" is to copy the Help install files from documents and settings to each workstation prior to running install. Install should work without such hacks.

QC Entry 51030
Download install.exe to a network or external drive. Run install. Attach a different workstation to the network or external drive Run install from second workstation Exp: Install for second workstation will use data downloaded to the network or external hd and will not need to download any files from the internet. Act: RAD Studio is installed without downloading additional files from the internet, but the Help install files are not available to the second workstation, so it spends an additional 3.5 hours downloading them (actual time from my workstation at work).

QC# Project Area
Delphi Install
Description: Steps:
missing Intraweb_90_100.bpl and IntrawebDB_90_100.bpl under System32

[Please check #255286]

QC# Project Area
Delphi Install
Description: Steps:
[Spacely+Highlander Update] - regression

Exception when dropping objects (connection or table) to the form.


System.IO.FileNotFoundException: Could not load file or assembly 'Borland.VclDbExpress, Version=11.0.5000.0, Culture=neutral, PublicKeyToken=91d62ebb5b0d1b1b' or one of its dependencies. The system cannot find the file specified.
File name: 'Borland.VclDbExpress, Version=11.0.5000.0, Culture=neutral, PublicKeyToken=91d62ebb5b0d1b1b'
at Borland.Data.Explorer.DataExplorerIDEImpl.CreateDBXConnection(TreeNode aNode)
at Borland.Data.Explorer.DataExplorerIDEImpl.DragDrop(Object Sender, ItemDragEventArgs Event)
at Borland.Data.Explorer.DataExplorerControl.a(Object , ItemDragEventArgs )
at System.Windows.Forms.TreeView.OnItemDrag(ItemDragEventArgs e)
Install Spacely + Highlander - using 'old keys' ---Update3
Run DE
drag and drop any table from DE to the form

Borland.VclDbExpress should have been included in the update for dataexplorer functionality to work.

QC# Project Area
Delphi Install
Description: Steps:
Help Update

Add ability to detect and only install teh Update if machine has Update 3 or Highlander installation.

QC# Project Area
Delphi Install
Description: Steps:
When choosing View, Data Explorer from a fresh installation of RAD Studio 2007 R2 Architect, Data Explorer shows Object not set to an instance of an object. And there's no Ado.Net data providers shown in Data Explorer. 1. Install RAD Studio 2007 R2 Architect with all features on Windows XP
2. Start IDE.
3. Choose View, Data Explorer

EXP: No errors
ACT: Object not set to an instance of an object. And there's no Ado.Net data providers shown in Data Explorer.

Alternative steps

RAD Studio 2007 RTM Arch on Windows XP
1. Select Modify, Repair or Uninstall from RAD Studio menu on Windows XP (assumes existing installation) and that all features are installed.
2. Select Repair, and click Next and complete the process.
3. Start IDE.
4. Choose View, Data Explorer

EXP: No errors
ACT: Object not set to an instance of an object. And there's no Ado.Net data providers shown in Data Explorer.


QC# Project Area
Delphi Install
Description: Steps:
Remove License.txt file from the install for Highlander In DeXter we are shipping a License.rtf and a License.txt. Pubs is requesting we no longer ship the License.txt file.

QC# Project Area
Delphi Install
Description: Steps:
Check for Update 3 shows up on a Highlander RTM build and should not. + Bring up a Highalnder RTM build
+ Change to swintern to get "akami" like install
+ click through the install
//exp: no notification that the Help could not be found and that users should make sure that they are installing over an Update 3 version
//act: notifiction occurs.

QC# Project Area
Delphi Install
Description: Steps:
Help Update Install AND Uninstall

It closes without any notification. Shouldnt we get a dialog with 'Finish' or Install Completed' for instance ?

Uninstall also do not notify when is completed.

QC# Project Area
Delphi Install
Description: Steps:
when trying to upgrade to cogswell from spacely RTM using the latest delivery you don't get to enter a serial number when using the "upgrade" option of the installer. 1. install spacely RTM
2. run \testing.IA.11.0.2655.5955.1 setup.exe
3. chose upgrade
4. next .........

QC# Project Area
Delphi Install
Description: Steps:
[Pro]
dbxmss30.dll of MSSQL dbExpress driver is not found in Professional edition.
In deploy.htm,this file is written that it can distribute.
But, this file is not found.

QC# Project Area
Delphi Install\Install Execution
Description: Steps:
[VCL Patch] The patch install (not injection) hangs on Vista at the "validating install" phase. Run the setup for the VCL patch.
At "validating install", the setup will not progress; the dialog is responsive, but the status message will not update, and if logging is enabled, logging will stop.

QC# Project Area
Delphi Install\User Interface
Description: Steps:
Word-wrap on the License Agreement page isn't quite right. It looks like line length idoesn't take the scrollbar into account 1. Run install; proceed to "License Agreement" page
2. Note these lines:
NOTICE: THIS BORLAND SOFTWARE PRODUCT (TOGETHER
WITH
ITS ACCOMPANYING....

QC# Project Area
Delphi Install\Registry settings
Description: Steps:
About box show incorrect update version: It says "october" instead of "november".
See screen dump.

QC# Project Area
Delphi Install\Files
Description: Steps:
welcomepage\ASPNetDemos.htm should be removed; it has obsolete references and isn't used anymore. Check directory.

QC# Project Area
Delphi Install\Register UI
Description: Steps:
Make sure sanctuary phone list is updated with DevCo phone numbers prior to Highlander release

CodeGear now...

QC# Project Area
Delphi Database
Description: Steps:
[November Patch] An application with a SQLConnection fails to build with an error File not found: 'DBXClentDataSetStorage.dcu'. Install November patch.
New VCL Win32 app.
Drop a TSQLConnection, build.
Compiler error results.

QC# Project Area
Delphi Database
Description: Steps:
According to documents and datasheets, only 1 User / 4 Connections are available on Blackfish SQL Desktop Edition, which comes with RAD Studio 2007 Professional Edition.

But, in fact, we can make 8 connections using client application.
Then, if we try to create 1 more connection, AV occurs.

This is As Designed?

sshaughnessy: I looked at this and was able to launch 8 DataExplorer before getting the proper error message. The code is giving 4 more connections than it should. 1 user gets 4 connections. I don't know what the AV is from. Need a reproducable test case.


Tomohiro Takahashi: sorry, AV means error dialog box.
TDBXHighlanderBugsSuite.Managed.exe connection=BLACKFISHSQLCONNECTION -s:oTestRaid_255287
(see comment on this testcase)

-OR-

1) Install RAD Sutdio 2007 Professional Edition

2) start Blackfish SQL

3) build client application which creates one connection

4) shutdown IDE

5) run 9 applications at the same time

    26179

QC# Project Area
26179 Delphi Database\Fields Editor
Description: Steps:
[QC Short Description]
SortFields Editor failure (on move one-by-one field)

[QC Description]
On click over the button to move one field from one side to another side ... the field disappear on the editor form....
QC Entry 26179

[Nov Update]
Steps: New Project (VCL Forms Application) ... Place one SQLConnection on form .... Configure the connetion (in my case for oracle) ... connect to database ... place one SQLDataSet ... link the SqlDataSet.SQLConnection To SQLConnection ... set commandType to clTable ... in CommandText select the table .... in SortFieldNames, click in button to call the editor ... in the editor, try to add one field to "Order by fields:" ....

    49558

QC# Project Area
49558 Delphi Database\Decision Cube Controls
Description: Steps:
[QC Short Description]
Applications that use Decision Cube do not compile in D2007

[QC Description]
It is a discusion in the
newsgroups.borland.com borland.public.install.delphi:18804
QC Entry 49558
Import and compile application that uses decision cube

QC# Project Area
Delphi Database\Drivers\InterBase
Description: Steps:
The DBX4 InterBase driver is unable to cope with the following query:

SELECT * from test

where * represents 206 integer columns

When the Active property is set to true, an error message "unassigned code" is returned. Normally InterBase returns this when some buffer has overflowed. The dbx driver would need to increase the size of this buffer in order for the query to execute successfully. IBConsole can successfully run this query.

Also DBX3 appears to be able to successfully run this query
TDBXHighlanderBugsSuite.Managed.exe connection=ibconnection -s:oTestRaid_255708

or

TDBXHighlanderBugsSuite.Native.exe connection=ibconnection -s:oTestRaid_255708

or

1. Connect a TSQLConnection to an InterBase database of your choice.
2. Create the following table from the create statement attached.

3. Connect up a TSQLQuery component to the TSQLConnection and set the SQL property to:

SELECT * from test

The unassigned code error is returned.

QC# Project Area
Delphi Database\DBExpress
Description: Steps:
OracleW / Intl. Oracle server

CLOB field does not use UNICODE enabled field type.
TDBXValu.GetWideString method cause error at truntime.

Under Oracle server with Intl. setting, All character type filed (include CLOB, CHAR and VARCHAR) are able to contain any character.

We have to provide GetWideString method for these field avoiding lose Intl. characters.
TDBXBugsSuite.Native.exe connection=oracleintlconnection -s:oTestRaid_255910

    659

QC# Project Area
659 Delphi Database\DBExpress
Description: Steps:
[QC Short Description]
Interbase driver issuing isc_commit_retaining for select statements

[QC Description]
Even with CommitRetain set to false, the driver is issuing isc_commit_retaining for select statements. I have a simple project that opens a parameterized query and then does an insert, with an SQLMonitor to show the statements, as well as dumping the values of the connection params right after connection. Here is the debugging output:

ODS: sql: INTERBASE - isc_attach_database
ODS: SQLConnection1.Params (13 elements)
ODS: ...<DriverName=Interbase>
ODS: ...<BlobSize=-1>
ODS: ...<CommitRetain=False>
ODS: ...<Database=copland:\interbasedata\maestrocfs.gdb>
ODS: ...<ErrorResourceFile=>
ODS: ...<LocaleCode=0000>
ODS: ...<Password=maestro>
ODS: ...<RoleName=RoleName>
ODS: ...<ServerCharSet=>
ODS: ...<SQLDialect=3>
ODS: ...<Interbase TransIsolation=ReadCommited>
ODS: ...<User_Name=maestro>
ODS: ...<WaitOnLocks=True>
ODS: sql: INTERBASE - isc_dsql_allocate_statement
ODS: sql: INTERBASE - isc_start_transaction
ODS: sql: select *
from TRADES
where TRADE_ID = ?
ODS: sql: INTERBASE - isc_dsql_prepare
ODS: sql: INTERBASE - isc_dsql_describe_bind
ODS: sql: INTERBASE - isc_dsql_execute
ODS: sql: INTERBASE - isc_dsql_fetch
ODS: sql: INTERBASE - isc_commit_retaining
ODS: sql: INTERBASE - isc_dsql_free_statement
ODS: sql: INTERBASE - isc_start_transaction
ODS: sql: INTERBASE - c_dsql_allocate_statement
ODS: sql: insert into "TRADES" ("TRADE_ID", "CLIENT_ID", "PRODUCT_ID", "ORG_ID", "PERS_ID", "USER_ID", "TRADED_ON", "ENTERED_ON", "PRINCIPAL", EVENUE_GROSS", "TRADE_STAT_ID")
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
ODS: sql: INTERBASE - isc_dsql_prepare
ODS: sql: INTERBASE - isc_dsql_sql_info
ODS: sql: INTERBASE - isc_vax_integer
ODS: sql: INTERBASE - isc_dsql_describe_bind
ODS: sql: INTERBASE - isc_dsql_execute
ODS: sql: INTERBASE - isc_dsql_free_statement
ODS: sql: INTERBASE - isc_dsql_free_statement
ODS: sql: INTERBASE - isc_commit_transaction
[Nov Update]

QC# Project Area
Delphi Database\DBExpress
Description: Steps:
OracleW driver.

GetIndexColumns metadata function of DBX cause AV if dbxoraW30 driver.

Error message is:
Project TDBXBugsSuite.Native.exe raised exception class EAccessViolation with message 'Access violation at address 02AB0000 in module 'dbxoraW30.dll'. Write of address 02AB0000'.
TDBXBugsSuite.Native.exe -s:oTestRaid_255728

Project TDBXBugsSuite.Native.exe raised exception class EAccessViolation with message 'Access violation at address 02AB0000 in module 'dbxoraW30.dll'. Write of address 02AB0000'.

QC# Project Area
Delphi Database\DBExpress
Description: Steps:
OracleW / Intl. Oracle server

Where clause is not able to use parameterized value if a target field is "Char" type.

VarChar works fine.

---------------------------
Project TDBXBugsSuite.Native.exe raised exception class ETestFailure with message 'No affect'.
TDBXBugsSuite.Native.exe connection=oracleintlconnection -s:oTestRaid_255913

QC# Project Area
Delphi Database\DBExpress
Description: Steps:
OracleW / Intl. Oracle server

DBXReader.Size does not match with field's size.

For example, DBXReader.Size should return 11 for Char(10) field, but the shipping driver return 22.



---------------------------
Project TDBXBugsSuite.Native.exe raised exception class ETestFailure with message 'Size: exp: 11. act: 22'.
TDBXBugsSuite.Native.exe connection=oracleintlconnection -s:oTestRaid_255911

QC# Project Area
Delphi Database\DBExpress\TSQLConnection
Description: Steps:
Customer is reporting that the TSQLConnection component seems to have a memory leak. if dbxdrivers.ini and dbxconnections.ini files are not available.

In TSQLConnection.DoConnect TDBXConnection.GetConnectionFactory raises exception when ini files are not there, TDBXMemoryConnectionFactory is then created but never freed.

This seems to be similar to QC 42824 and also RAID:248340
1. Create a new app.
2. Setup a SQLConnection to a interbase table
3. Add a Open and Close on FormCreate and FormClose
4. Set ReportMemoryLeaksOnShutDown to true.

procedure TForm7.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SQLConnection1.Close;
end;

procedure TForm7.FormCreate(Sender: TObject);
begin
SQLConnection1.Open;
end;

initialization
ReportMemoryLeaksOnShutdown := true;

Results:

1 - 12 bytes TDbxClosedByteReader x1
13 - 20 bytes TdbxMemoryConnectionFactory x1
37 - 44 bytes TdbxContext x 1
61 - 68 bytes TWideStringList x2

QC# Project Area
Delphi Database\dbExpressCore
Description: Steps:
When a timestamp is inserted in a native application into a blackfish database using the data generator, hours does not always match when read back through a Reader. DataAccess.Native.exe connection=blackfishsqlconnection -s:TestReadWriteAll

QC# Project Area
Delphi Database\dbExpressCore
Description: Steps:
Cannot write Oracle NClob to database.

Trying to write NClob produces:
TDBXError with message 'ORA-22275: invalid LOB locator specified

This was busted out per request from Raid 245660.
See TDBXBugsSuite.Native.exe connection=oracleconnection -soRaid_253754

QC# Project Area
Delphi Database\dbExpressCore
Description: Steps:
Cannot write Oracle NChar, or NVarchar to database.

Trying to write NChar or NVarchar produces the following exception:
TDBXError with message 'ORA-01036: illegal variable name/number
Please open the TDBXBugs suite and look at test method for this RAID entry.
TDBXBugs suite is located:
http://dtg-svn.borland.com/svn/bdstests/trunk/UnitTest/projects/database/dbexpress/Bugs

TDBXBugsSuite.Native.exe connection=oracleconnection -s:TestRaid_245660

QC# Project Area
Delphi Database\Data Explorer
Description: Steps:
Database|Modify Database menu off the database node has trouble finding resources

[Nov Update]
Open a Blackfish SQL employee database
select the Database|Modify Database menu
Error occurs:

System.Resources.MissingManifestResourceException: Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "Borland.Data.Explorer.ModifyDatabaseDialog.resources" was correctly embedded or linked into assembly "Borland.Data.Explorer" at compile time, or that all the satellite assemblies required are loadable and fully signed.
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.GetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet& resourceSet)
at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet& resourceSet)
at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet& resourceSet)
at System.ComponentModel.ComponentResourceManager.ApplyResources(Object value, String objectName, CultureInfo culture)
at System.ComponentModel.ComponentResourceManager.ApplyResources(Object value, String objectName)
at Borland.Data.Explorer.ModifyDatabaseDialog.InitializeComponent() in c:\Projects\d11\tp\database\internal\src\cs\borland\dbtools\explorer\DatabasePropertiesDialog.cs:line 59
at Borland.Data.Explorer.ModifyDatabaseDialog..ctor(ConnWrapper conn) in c:\Projects\d11\tp\database\internal\src\cs\borland\dbtools\explorer\DatabasePropertiesDialog.cs:line 25
at Borland.Data.Explorer.DataExplorerControl.miModifyDatabase_Click(Object sender, EventArgs e) in c:\Projects\d11\tp\database\internal\src\cs\borland\dbtools\explorer\DataExplorerControl.cs:line 2324
at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
at System.Windows.Forms.MenuItem.MenuItemData.Execute()
at System.Windows.Forms.Command.Invoke()
at System.Window

QC# Project Area
Delphi Database\Data Explorer
Description: Steps:
"Confirm Password:" lable of Database|Change Password dialog is not alligned properly.

[Nov Update]
Open a Blackfish SQL employee database
select the Database|Change password

"Confirm Password:" overlaps the field to the right.

QC# Project Area
Delphi Database\Data Explorer
Description: Steps:
Change password encounters exception.

[Nov Update]
Open a Blackfish SQL employee database
select the Database|Change password
Change password and hit ok. Exception occurs:


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.ArrayList.get_Item(Int32 index)
at Borland.Data.DataStore.DataStoreParameterCollection.get_Item(Int32 index)
at Borland.Data.DataStore.DataStoreParameterCollection.GetParameter(Int32 index)
at System.Data.Common.DbParameterCollection.get_Item(Int32 index)
at Borland.Data.Explorer.ChangePasswordDialog.btnOK_Click(Object sender, EventArgs e) in c:\Projects\d11\tp\database\internal\src\cs\borland\dbtools\explorer\ChangePasswordDialog.cs:line 128
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

QC# Project Area
Delphi VCL
Description: Steps:
(Patch3)

After apply Patch on Spacely RTM, Running application will cause IDE shrink size even thought IDE still in Maximize mode. Try to resize IDE, the mosue cursor behave strange, please see steps
1. Install Spacely RTM
2. Start IDE
3. File | New | VCL Application
4. Run
// notice: when IDE switch to debug mode, IDE size do not change
5. Close IDE
6. Install Patch3
7. Start IDE
8. File | New | VCL Application
9. Run
// notice this time, IDE change the size, even window still show "Maximize" button
10. Use mouse to resize IDE
// mouse cursor position JUMP to Form Designer

note: without running application, just change IDE layout will reproduce this problem

QC# Project Area
Delphi VCL
Description: Steps:
Shown dialog will show in TaskManager in Application tab on Vista 1. File | New | VCL Application
2. drop a TButton and TColorDialog
3. double click Button1 for OnClick event
4. add code as:
ColorDialog1.Execute;

5. Run, click the Button
// ColorDialog show
6. run TaskMan
7. click Application tab
// there is an item name "color", you can max/min/kill it.

    52256

QC# Project Area
52256 Delphi VCL\Core VCL Classes\TApplication
Description: Steps:
Taskbar button is not hidden when the MainForm is hidden and MainFormOnTaskbar is False.

Regression.
* File New VCL Application
* Drop a button on the form
* In the OnClick handler, enter "Hide;"
* View | Project Source
* Set Application.MainFormOnTaskbar := False;
* Run, click on the button
// Exp: The taskbar button is hidden
// Act: The taskbar button is still visible

    51831

QC# Project Area
51831 Delphi VCL\Core VCL Classes\TWinControl
Description: Steps:
[QC Short Description]
Edit, Memo, ComboBox, ... context menus are not displayed anymore

[QC Description]
The fix for QC 42752 broke the default context menus for TEdit, TMemo, TComboBox and all other windows controls with a default popup menu.
QC Entry 51831
1. Create a new VCL application 2. Drop a TEdit on the form 3. Start the application 4. Right click on the edit Expected: The Cut/Copy/Paste/Delete popup menu appears Actual: Nothing happens because the "Exit" in the TWinControl.DefaultHandler stops the processing of WM_CONTEXTMENU

    46134

QC# Project Area
46134 Delphi VCL\Dialog Controls\TOpenDialog
Description: Steps:
[QC Short Description]
TOpenDialog under Vista Breaks doShareAware

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

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

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

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

The sum of these parts is that, if you use a TOpenDialog, even with ofShareAware set, you will be completely unable to select in-use files.
QC Entry 46134
Create an application with a TOpenDialog and a TButton. Set TOpenDialog.Options.foShareAware to True In the button's click handler, call OpenDialog.Execute Run the program Click the Button Try to select a file that would normally raise a share violation Expected: Select the file, ignoring the share violation Actual: A warning dialog is displayed with the file name followed by "Not implemented"

QC# Project Area
Delphi VCL\Standard Controls\TLabel
Description: Steps:
Vista / Aero / DBCS

Under Vista / Aero
Tlabel on GlassFrame does not draw correctly if a caption contains DBCS character.

See attached screen shot.

TSpeedButton has a same problem.
See attached project and screen shot on Vista/Aero

    51845

QC# Project Area
51845 Delphi VCL\Standard Controls\TMainMenu
Description: Steps:
[QC Short Description]
TMainMenu not painted in form designer on Vista with Standard or Classic scheme

[QC Description]
On Vista (x64) the TMainMenu is not painted in the form designer if the scheme is Standard of Classic. Not Painted means the space for the menu is reserved, but you see at the position where the menu should appear what was at this position before you switched to the form designer.
The same issue exists for VCL.NET projects.

With the Aero or Vista Basic scheme or with D2007 Update 1 on W2k everything is okay.

I've attached an example project and two images.
QC Entry 51845
- on Vista (x64) select the color scheme "Standard" or "Classic" - start Highlander - open the example project (or create a new VCL Forms Application, add a TMainMenu and add some items) expected: - the main menu with the items is visible actual: - the main menu is not visible -> see image QC*MainMenuInDesignerWithVistaStandard.png - close Highlander (otherwise QC 49128 (RAID: 252631) "Switching Windows designs may destroy the IDE layout" would occur) - switch the color scheme to "Vista Basic" or "Aero" - start Highlander - open the example project (or create a new VCL Forms Application, add a TMainMenu and add some items) expected: - the main menu with the items is visible actual: - the main menu with the items is visible (as expected) -> see image QC*MainMenuInDesignerWithVistaAero.png

    52671

QC# Project Area
52671 Delphi VCL\Standard Controls\TMainMenu
Description: Steps:
Under Vista with Theme, if TMenuItem has DBCS character in caption, and the menu item has a bitmap, Unexpected garbage characters are displayed.

Spacely/Cogswell works fine.

See attached bitmap.

255408-XPCompatible-mode is what I expected.
255408-Vista is actual result.

Some rare case, The application cause AV.

[See. 255411]

QC# Project Area
Delphi Debugger\Stepping
Description: Steps:
If you have "minimize on run" selected in Tools | Options | Environment Options and try to debug a program with two breakpoints set, the IDE stops on first breakpoint but when you press F9 to stop on the next breakpoint the IDE does not maximize but remains down on the taskbar.

You must then click on the taskbar icon in order to bring up the IDE.
1. Extract attached files and open up the project in Rad Studio.
2. In Rad Studio, select Tools | Options | Environment Options and select "Minimize On Run".
3. In MinimizeU.pas, place a breakpoint on line 31 and line 37.
4. Hit F9 to launch the app from within the IDE.
5. Click the button.
6. First breakpoint is hit so hit F9 again to run the app to the next breakpoint.

exp: IDE should maximize and cursor should be at line 37.
act: IDE remains minimized.

QC# Project Area
Delphi Debugger\CPU
Description: Steps:
After closing and reopening the CPU view, attempting to use the main IDE window to search in either the disassembly or dump panes causes an access violation Create a delphi win32 console app
F8 to step
View | Debug Windows | CPU Windows | Entire CPU
Focus either the dump pane or the disassembly pane
Seelct Search | Find from the main IDE menu
Close the CPU Search bytes dialog

Close the CPU view
View | Debug Windows | CPU Windows | Entire CPU to reopen it
Focus either the dump pane or the disassembly pane
Seelct Search | Find from the main IDE menu

Exp: the Enter Search Bytes dialog comes up
Act: Access violation

    42695

QC# Project Area
42695 Delphi Internet
Description: Steps:
[QC Short Description]
CGI WebService on Windows Vista / IIS 7.0 Fails

[QC Description]
I tried to register a CGI WebService on Windows Vista / IIS 7.0 and the fowlling error appears :

HTTP 502.2 - Bad Gateway

If this WebService is converted into ISAPI WebService, it works fine.
QC Entry 42695
One hack to workaround this is to turn off IO checks here:

TCGIApplication.Run;
begin
...
+ {$I-} Reset(Input); {$I+}
+ IOResult;
...
end

I've verified this hack at least lets the CGI startup and run without the mentioned 502 error, but this probably isn't the best fix. For more discussion/steps see:
http://qc.borland.com/wc/qcmain.aspx?d=42695

----
cwchua's workaround: Add VistaCGIApp.pas to a CGI application and it would work on Vista.
I've attached VistaCGIApp.pas to this RAID.

Note that one web action item needs to have it's default property enabled. Otherwise, if there are no PathInfo matches, the CGI would still return 502.2 on Vista.

    15265

QC# Project Area
15265 Delphi Internet\XML\Data Binding
Description: Steps:
[QC Short Description]
IXMLNode converts xs:boolean to False where it should be false

[QC Description]
I generated an interface from an XML schema. The type type="xs:boolean" creates a boolean property in the interface.

When I create an XML document from this interface the boolan values are set to False where this should be false.

see also http://www.w3.org/TR/xmlschema-2/#boolean
QC Entry 15265
(see attached project) - Create an XSD with an attribute type="xs:boolean" - Use the databinding wizard to create an interface - create an XML document from the interface

QC# Project Area
Delphi Internet\XML\Data Binding
Description: Steps:
Duplicate property getters and declarations in binding produced from Microsoft.Build.Core.xsd Create a new Delphi app.
File | New | Other | Xml | Xml Data binding
Point at c:\windows\microsoft.net\framework\v2.0.50727\MSBuild\Microsoft.Build.Core.xsd
Finish the wizard so you get Microsoft.Build.Core.pas
Project | Compile.
-- errors because of duplicate getters and prop decls.

QC# Project Area
Delphi Internet\XML\Data Binding
Description: Steps:
Exception when clicking on elements of "Schema Components" Create a Delphi project.
File | New | Other | Xml | Xml Data Binding
Find a schema file.
Next
Click on any schema component (complex or simple type)
-- exception (something about 'has no single text node')

    47225

QC# Project Area
47225 Delphi Compiler
Description: Steps:
[QC Short Description]
Compilation 7 times slower after installing update 1!

[QC Description]
After installing update 1 there is a significant delay after selecting |compile project".

In Original version everything works fine. After some changes in a large project (3mln lines) compilation starts immediately and completes in about 20 sec.

After installing update 1 it takes 155 second. After selecting "compile project" processor utilization hits 100% and IDE hangs for 1 minute before anything in compile window happens.

I run Vista on 2 dual core Xeon processors and 4GB RAM.
QC Entry 47225
Load large project. Change some code and select Compile Project.

    52358

QC# Project Area
52358 Delphi Compiler\Delphi\Code Generation/Optimization
Description: Steps:
[QC Short Description]
Please include RTTI informations for non-monotonous enums

[QC Description]
if an enum type is defined with explicit ordinalities that are non contiguous, the runtime type information of any published property of that enum type is lost.

see the Steps for a code that demonstrate the problem.

Improving RTTI to support such kind of enum would help component builders to provide directly editable enum properties in components at designtime, or improve the storage / loading of persistent classes with generic storage classes such as Jedi JvAppStorage.pas

QC Entry 52358
Compile and run the attached program below.

See the following output.

FAIL #1 - Visible Property Missing in TMyClass

See that this message appears for TMyClass which involves an enum with an assigned ordinal value. Also that the for the similar class TMyOtherClass, a fail message is not produced, the only difference being that the enum type used there does not specify an ordinal value for any of its elements.

program BTS255479;

{$APPTYPE CONSOLE}

uses
SysUtils,
Classes,
TypInfo;

type
TMyInvisibleEnum = (iefoo = 1, iebar, ieboo, iecar);

TMyVisibleEnum = (vefoo, vebar, veboo, vecar);


TMyClass = class(TPersistent)
private
FMissMe: TMyInvisibleEnum;
published
property MissMe:TMyInvisibleEnum read FMissMe write FMissMe;
end;

TMyOtherClass = class(TPersistent)
private
FSeeMe: TMyVisibleEnum;
published
property SeeMe:TMyVisibleEnum read FSeeMe write FSeeMe;
end;


var
TypeData: PTypeData;
Counter: Integer = 0;

begin
try
TypeData := GetTypeData(TMyClass.ClassInfo);

if TypeData.PropCount <> 1 then
Writeln('FAIL #1 - Visible Property Missing in ', TypeData.ClassType.ClassName)
else
Inc(Counter);

TypeData := GetTypeData(TMyOtherClass.ClassInfo);

if TypeData.PropCount <> 1 then
Writeln('FAIL #2 - Visible Property Missing in ', TypeData.ClassType.ClassName)
else
Inc(Counter);

if Counter = 2 then
WriteLn('PASS');
except
on E:Exception do
Writeln(E.Classname, ': ', E.Message);
end;
end.

QC# Project Area
Delphi Compiler\Delphi\Other Compiler
Description: Steps:
RLINK32 error when building the vclactnband package in the VCL directory.

It seems to be unable to find dfm files (although they exist).
* Go to <TP>\vcl
* Run "msbuild clean debug"
//Exp: Build succeeds
//Act: Error: E2161 RLINK32: Error opening file "..\clr\vcl\actman\CustomizeDlg.dfm"

QC# Project Area
Delphi Compiler\Delphi\Finalization
Description: Steps:
Application does not unload from Memory when terminating, when loading two or more DLLs, using ShareMem (cannot check against SimpleShareMem, see #255157) and run-time packages. 1. Start a new Win32 VCL Delphi application
2. Add 2 DLL Projects to the Project Group
3. Save all as "AH01.dpr", "AH02.dpr" and "AH03.dpr" respectivly, name the Form "FormMain.pas"
4. For each project go to project options -> Packages
Set the tick for using run-time packages
Add "vcl;rtl" for the run-time packages to use
5. Go to each projects DPR-Source file and add "ShareMem" as first unit to the uses clause
6. To the Main Form of AH01.DPR add two buttons.
7. In the OnClick Event-Handler of the first button write
LoadLibrary('AH02.DLL');
LoadLibrary('AH03.DLL');
8. In the OnClick Event-Handler of the second button write
Close;
9. Compile all projects and run the EXE
10. Click Button 1 - both DLLs are loaded
11. Click Button 2 - application (seems to) terminate

12. Run the Windows Task Manager (CTRL+SHIFT+ESC) and goto "Processes" page. Order processes by name and look for "AH01.EXE", this should not be there, but is.

Note: Example Project attached to report.

Note: Make sure you are NOT using the debug version of the memory manager, as doing so will mask this issue (do a "msbuild nodebugmem" from the tp\rtl directory if you're using the dev build)

QC# Project Area
Delphi Compiler\Delphi\String Resources
Description: Steps:
Delphi compiler generates .drc files with bad identifiers. This prevents the .drc files from getting compiled with the resource compiler and consequently breaks the localized builds.

For example:

Highlander RTM:
#define Borland_Vcl_Design_MnuConst_SInvalidNumber 65504

Current Highlander trunk:
#define Borland.Vcl.Design.MnuConst_SInvalidNumber 65504

This causes the localized build to break with the following errors:

D:\dev\tp\tools\MSNET2.0\rc vclmenudesigner.tran.drc
vclmenudesigner.tran.drc(10): error RC2008: '.' : unexpected in macro definition
vclmenudesigner.tran.drc(11): error RC2008: '.' : unexpected in macro definition
vclmenudesigner.tran.drc(11): warning RC4005: 'Borland' : redefinition
.
.
.
vclmenudesigner.tran.drc(38): error RC2008: '.' : unexpected in macro definition
vclmenudesigner.tran.drc(38): warning RC4005: 'Borland' : redefinition
D:\dev\tp\app\design\i18n\de\RCa02696(78): fatal error RC1116: RC terminating after preprocessor errors

    51727

QC# Project Area
51727 Delphi RTL\Delphi\RTL Exceptions
Description: Steps:
[QC Short Description]
Halt in except block causes messagebox at program termination

[QC Description]
If you call Halt in an except block, a message box pops up that shows the last exception. Even EAbort exceptions are shown.
In a console application it shows the exception in ErrOut.

The _Halt0 function should release the ExceptObject before entering the FinalizeUnits loop.
QC Entry 51727
1. Create a new VCL application 2. Add the following code to the OnCreate handler try Abort; except On E: Exception do Halt(1); end; 3. Start the application Expected: The application terminates Actual: The application shows "Exception EAbort in module Project4.exe at 00049F63. Operation aborted."

    52905

QC# Project Area
52905 Delphi RTL\Delphi\File Management
Description: Steps:
[QC Short Description]
FileExists does not work for open files with share_exclusive

[QC Description]
The FileExists function does not work for files that are opened in SHARE_EXCLUSIVE mode (like the pagefile.sys).

FileExists('C:\pagefile.sys') always return False instead of True.
QC Entry 52905
1. Create a new VCL application
2. Write the following into the Form's OnCreate handler:

begin
if FileExists('C:\pagefile.sys') then
ShowMessage('OK')
else
ShowMessage('Failed');
end;

Expected:
A "OK" dialog is displayed

Actual:
A "Failed" dialog is displayed



Andreas included this workaround/new version for the RTL:


function FileExists(const Filename: string): Boolean;

function FailSafe(const Filename: string): Boolean;
var
FindData: TWin32FindData;
h: THandle;
begin
{ Either the file is locked/share_exclusive or we got an access denied }
h := FindFirstFile(PChar(Filename), FindData);
if h <> 0 then
begin
Windows.FindClose(h);
Result := FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY = 0;
end
else
Result := False;
end;

var
Code: Integer;
LastError: Cardinal;
begin
Code := Integer(GetFileAttributes(Pointer(FileName)));
if Code <> -1 then
Result := (FILE_ATTRIBUTE_DIRECTORY and Code = 0)
else
begin
LastError := GetLastError();
Result := (LastError <> ERROR_FILE_NOT_FOUND) and
(LastError <> ERROR_PATH_NOT_FOUND) and
FailSafe(Filename);
end;
end;

    47452

QC# Project Area
47452 Delphi SOAP
Description: Steps:
[QC Short Description]
Incorrect SOAP parse of variant arrays

[QC Description]
SOAP does not parse correctly variant arrays of two or more elements that contain variant arrays.

It can affect SOAP DataSnap servers that use variant arrays in OwnerData parameter to comunicate information between client and server.
QC Entry 47452


(NOTE From Bruneau:

Have fix ready to go )
1. Compile the attached server and client soap apps with D2007 Upd1. Its a standalone web server. It must be compile with Indy9. 2. Execute the server. 3. Execute the client, and press the button1. The Client pass a variant array in the ownerdata parameter of cds.BeforeGetRecords method: procedure TForm1.ClientDataSet1BeforeGetRecords(Sender: TObject; var OwnerData: OleVariant); var v1, v2: variant; begin v1 := VarArrayCreate([0, 1], varVariant); v1[0] := 1; v1[1] := 'one'; v2 := VarArrayCreate([0, 1], varVariant); v2[0] := 2; v2[1] := 'two'; OwnerData := VarArrayCreate([0, 1], varVariant); OwnerData[0] := v1; OwnerData[1] := v2; end; The Server process the ownerdata parameter in the dsp.BeforeGetRecords method: for i := 0 to VarArrayHighBound(OwnerData, 1) do begin int := OwnerData[i][0]; str := VarToStr(OwnerData[i][1]); end; OwnerData is well dimensioned, but the first element contains the second: OwnerData[0][0] -> 2 OwnerData[0][1] -> 'two' OwnerData[1][0] -> raises and exception EVariantInvalidArgError

    47506

QC# Project Area
47506 Delphi SOAP\WSDL Importer
Description: Steps:
[QC Short Description]
Wsdl importer do not read files xsd

[QC Description]
Hi,

when importin a wsdl, the next comment is add to .pas:

// ************************************************************************
//
// The following types, referred to in the WSDL document are not being
represented
// in this file. They are either aliases[@] of other types represented or
were referred
// to but never[!] declared in the document. The types from the latter
category
// typically map to predefined/known XML or Borland types; however, they
could also
// indicate incorrect WSDL documents that failed to declare or import a
schema type.
//
************************************************************************ //
// !:MessageHeader - "http://www.ebxml.org/namespaces/messageHeader"
// !:Security - "http://schemas.xmlsoap.org/ws/2002/12/secext"
// !:SessionCreateRQ - "http://www.opentravel.org/OTA/2002/11"
// !:SessionCreateRS - "http://www.opentravel.org/OTA/2002/11"

and project has error when compiled.
QC Entry 47506
See description Attachment fails .......!!!!!!!!!!1 cdsAttachmentsHeader : missing datasetprovider ou datapacked !!!! See files in borlan.public.attachments: XSD files for Sabre

    49636

QC# Project Area
49636 Delphi SOAP\Client Applications
Description: Steps:
[QC Short Description]
THTTPWebNode Timouts do not work

[QC Description]
The timeouts on a THTTPWebNode do not work correctly. It is as if the timeouts are not altered.

Calling InternetSetOption with the hInternet parameter set to nil bypasses the problem.

The MSDN documentation for InternetSetOption on Windows CE indicates that for a synchronous connection the receive timeout can only be set for the default connection. i.e. the hInternet parameter must be NULL when INTERNET_OPTION_RECEIVE_TIMEOUT is set. This also appears to be the case on Win32 for the connect, send, and recieve timeouts.
QC Entry 49636
1. Create a web service that takes longer than 30 seconds to respond. 2. Create client for the service using THTTPRIO object with the timeouts on the HTTPWebNode set to 60000. 3. Call the web service. It should timeout.

QC# Project Area
Delphi Modeling
Description: Steps:
Don't loose GetProperty and SetProperty
declarations after Add Property action to the class with delegate

[Highlander Update]
1. Add Class to the diagram
2. Add Delegate or Delegate as function to the class
3. Add Property to the class

Result: It can be noted that Property is not shown in diagram, and in sourse code we see only

property Property1 : Integer read GetProperty1 write SetProperty1;

that is declarations of GetProperty1 and SetProperty1 were lost. As result code is not compilable.

QC# Project Area
Delphi Modeling\SCI
Description: Steps:
Delphi Win32: The problem: correctly create references to inner types if the target classifer is located within the unit after the source classifier. Probably target classifiers should be replaced to be before source one.

[SpUpdMF]

QC# Project Area
Delphi Modeling\Class Diagram
Description: Steps:
It should be possible to delete struct field from Class Diagram

[Highlander Update]
1. Add Struct to diagram
2. Add Field to struct
3. Select struct field in diagram-> attempt to remove it ( press Del button or via context menu)


exp: Remove action is done
act: Nothing is done

QC# Project Area
Delphi Modeling\Audits
Description: Steps:
Should be possible to run Audits and Metrics on project level


From newsgroups:

Warren Postma

I have never (in delphi 2007 field test builds, nor in the RTM 2007, nor
2007 update 1, nor latest F/T H2 build) been able to get Metrics to work
for the whole project.

One form (.dfm/.pas) only, no problem.

But if I select the WHOLE PROJECT, audits fails in one of two ways:

1. No results ever. Frozen delphi (progress bar never moves, audit
results never returned).

2. Fast processing (no progress bar, but the whole thing cancels out,
fails silently), and we are returned to our audit-results window pane,
which is empty and contains no results.

How on earth does one do metrics on a whole project? Can you only do
metrics on a form by form basis?

NOTE: This means, go open a .dproj with 50 forms or so in it, not some
trivial piece of demo code, and actually TEST the audits/metrics
features on the whole projects. Does it work for you?

Warren

[Highlander Update]
Unzip attached project
Start Delphi
Open project GExpertsD9.dpr
Switch on modeling
Switch to Model View
Launch popup menu on top node GExpertsD9
Launch QA Audits
Select All Audits
Start

//exp. Audits results are shown
//act. Error message appears and Delphi is closed. See attached image.

The same situation with running metrics, Delphi is closed.

On some particular packages fast processing is observed. Audits or metrics result pane is empty in this case.
It's possible to run Audits&metrics for single class and for some (small?) packages.

Server Response from: SC4